Est. Reading Time: 4 minutes
We recently launched the Beacon site with a new design which included a handful of jQuery animation, many of which had replaced the the previous design’s Flash-intensive content. We have recently come across an issue with the jQuery library with some builds of IE7 and IE8 that resulted in an extensive trail of debugging. We concluded that it was a browser issue (even in different OS environments) that was only fixed by re-installing IE. Here I will outline the issue and the debug trail–and hopefully maybe even think up some potential fixes that weren’t explored when testing was originally performed.
In IE7 and IE8 we found that refreshing the homepage would crash IE and sometimes handle restoring the tab, other times not.Â Microsoft has acknowledged this error in an KB article.
The Debug Trail
- Initial replication of issue in IE 8.0.6012 on one of the test machines using a Windows XP environment.
- Attempted browser-configuration changes that mightâve caused issues including:
- Privacy Settings
- Security Settings
- Add-Ons disabled
- Just-In-Time Debugging (picked up from a slightly different error that was sent to me as a screenshot from Mark Dirks — last one on right shown above)
Unfortunately not of these seemed to be the culprit.
- Attempted using different versions from currently used (1.6.1) to most recently published version from jQuery site (1.6.4) â tried both compressed/uncompressed versions without any success.
- Checked aÂ changelog of jQuery since version 1.6.1 onward for IE7/8 errors.
*Anything related to these browsers I had checked out scripts for any instances of (CSS background-image in jQuery and other function calls)
- One Google search led me to a site that reported changing the jQuery file name had corrected their similar mshtml.dll errorâ-not the case here)
Since the IE8 error that comes up sometimes on the test machine says the browser attempted to load more than twice) â the only instance of this I found is a comparison checking if â#beacon-videoâ is in the URL and if so, it runs a function to scroll the Beacon video into view and sets the tabs display(css) values. The window.location value is never assigned anywhere.
- Checked that there werenât multiple instances of window.onload or jQuery(document).ready()
- Ran the jQuery library file through a beautifier to get a better look at the pin-pointed trouble spot you found and checked for any obvious issues. Justin Klingman found that in the compressed library he could comment out the last half of the code which removed the crash so before ‘beautifying’ the code I had marked this position with a comment and looked in the region after the code was cleaned up.
- The only change that did successfully fixed the crashing tab to load was removing jQuery from the page, however,
when the content of another root level page (the SEM pages) into the root default document, that loads/refreshes fine without crashing.
After further testing this, removing only homeScripts.js still crashed the tab on the homepage (unless jQuery was also removed) —
All internal pages use the same copy of the jQuery Library and they donât crash, so the exact source of whatâs crashing the page/tab is still not clear to me.