jQuery 1.1.3.1 Safari Crashes

After upgrading a high-traffic Web site from jQuery 1.1.2 to jQuery
1.1.3.1, some Safari users started reporting that the Web site would
cause their browsers to crash. The crash would be that Safari would
instantly shut down.

I set up multiple test environments using clean installs of Mac OS
10.4.0 through Mac OS 10.4.4 (with some newer 10.4.10 systems already
in place), to determine which versions of Safari experienced this
problem.

This is the basic test code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title>
<script src="jquery-1.1.3.1.pack.js" type="text/javascript"></script>
</head><body></body></html>

There is zero functionality in that test code. It is just an include
of the jQuery file. After loading this simple page, Safari 2.0.0 (412)
through 2.0.2 (416.12) immediately crash. The error is 100%
reproducible. Safari 2.0.3 (417.8) works. Safari 2.0.3 and 2.0.4
passed all of my more complex tests, which simulate the complex
functionality found in the Web site.

Based on user reports, I suspect that jQuery 1.1.3.1 would also cause
versions of Safari older than 2.0 to crash. One person using Safari
1.3 reported a crash. I did not try to reproduce this.

I performed my tests with both the packed version and the unpacked
version. The packed version caused the browser to crash more quickly.
With the unpacked version, I sometimes had to refresh the browser
window a couple times before the crash occurred.

jQuery 1.1.2 seems to work fine in these older versions of Safari. It
passed all the complex tests, not simply the crash-avoidance test.

So, for my solution, I have a conditional that uses jQuery 1.1.3.1 for
Safari with version numbers 417 and higher, and jQuery 1.1.2 for
Safari versions between 312 and 416.

I hope this helps,
Mike Chabot

Reply via email to