Home About Me

The jQuery Plugin That Exists Only to Crash IE6

There is probably no need to spend much time introducing jQuery. If you know web development at all, you already know how influential it was. IE6 does not need much introduction either—just for the opposite reason. Few browsers have earned as much hostility, and for good reason. If someone is still using IE6 today, or even an IE-based browser from that era, it is hard not to look at them with at least a little disbelief.

That is what makes this jQuery plugin so unusually memorable. Most plugins add an effect, solve a problem, or patch some missing behavior. This one does absolutely none of that. Its entire personality is built around one goal: crashing IE6 on purpose.

The plugin is called jQuery Crash. It was listed here:

http://plugins.jquery.com/project/crash

It was described as a four-star plugin and weighed in at only 435 bytes. Its self-introduction was blunt enough that there is no point softening it:

A jQuery plugin for crashing IE6. That’ll teach those motherf!%@#s to upgrade their s#t.

As rude as that is, it also says everything. This was less a utility than a provocation aimed straight at an outdated browser that had already caused years of frustration for developers.

What is even more absurd is that you do not actually need JavaScript to make an IE-family browser fall over. A plain HTML page can do the job. There is an example here:

http://www.gregmerideth.net/html/iecrash.html

Open it carefully. The page contains no CSS and no JavaScript—just HTML. Even so, it can still bring down browsers. Firefox may also choke on it, while Chrome reportedly handles it fine.

The page came from a program that generated a table nested through an extreme number of levels. That structure was enough to make IE5 stop responding, spin the CPU to 100%, and eventually crash. What is remarkable is not only that this happened once, but that the behavior persisted years later. Testing it on a dual-core machine with IE7 produced much the same result: CPU usage shot to 50%, kernel usage was also high, and the browser never recovered on its own. The only practical solution was to kill the process.

That is the truly ridiculous part. A browser that can be pushed into collapse by nothing more than pure HTML has earned every complaint people ever made about it.