When you add a script to the document, it loads asynchronously. In IE, the following script ...
try{ jQuery(document).ready(function() { jQuery.getScript("/CalendarViewer/js/utils.js", function(){ jQuery.getScript("/CalendarViewer/js/groupcatselector.js", function(){ jQuery.getScript("/CalendarViewer/js/calendarportlet.js", function(){ jQuery.getScript("/CalendarViewer/js/calendarportletmain.js", function(){ var cpm = calendarportletmain; cpm.doEditDefaults("V_7f208bca412b42a68c19eb104bf46f14", "/CalendarViewer", groupCats_V_7f208bca412b42a68c19eb104bf46f14); }); }); }); }); }); }catch(err){ alert("error in view.jsp="+err.number+" "+err.description); }
... is parsed and executed before IE has finished loading and parsing the jQuery script. This may not be the case in Firefox, if Firefox has already cached the script, it does not take time to download and can be analyzed immediately. This could make parsers work differently, Firefox parsed the script as soon as it was loaded, and IE checked the parsing until the thread became idle.
You can move this code to the end of the setUpJquery function, which means that it will only execute if there is a jQuery object. Alternatively, you can put the code in your own function and call this function from the setUpJquery function.
Andy e
source share