2013 jQuery Support for Internet Explorer Going forward

Sam Deering

jquery2-support-for-internet-explorer

This post takes a look ahead at jQuery 2.0 and why your code could potentially “break” when deprecated/removed jQuery functions produce “function not defined” (or such) errors. This official post states that jQuery 2.0 will remove support for IE 6/7/8 oddities such as borked event model, IE7 “attroperties”, HTML5 shims, etc. It also suggests that If you need IE 6/7/8 support, choose 1.9; otherwise you can use 2.0. As jQuery plugins start to break I think we are also going to see a lot of people Migrating Earilier Versions of jQuery to jQuery 1.9.

Looking forward to jQuery 2.0

jQuery 2.x will be much leaner (hundreds of lines of code which support IE to be removed). However jQuery 1.9.x will maintain support for IE so you might start seeing something like this:

<!--[if lt IE 9]>
    <script src="jquery-1.9.x.js"></script>
< ![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.x.js">< </script>
<!--<![endif]-->

There are reasons for and against supporting older versions of Internet Explorer. From my experience working for various companies as a contractor.

  • IE6 is dead and no longer supported (0.3%).
  • IE7 is close to being dead (1.0%). Most government departments now are running builds with IE8+ but the process of system image upgrades is slow at best so websites need to support IE7 still but are slowly saying “no support for IE7″ as stats drop.
  • IE8/IE9 is still supported (6.4%,5.9%).
  • IE10 (0.8%) surprisingly has less usage than IE7.

Figures source.

browser-stats-ie-2013

Interested in the source code?

Source code jQuery 1.9.1: http://code.jquery.com/jquery-1.9.1.js
Source code jQuery 2.0 Beta: http://code.jquery.com/jquery-2.0.0b1.js

So, has removing support for IE made jQuery faster?

Yes and no.

Benchmark tests using jsperf – jQuery 1.9.1 vs. 2.0.0 beta suggests:

  • ID/Class selecters faster
  • Interation slightly slower
  • CSS getter/setter same
  • .find() slightly faster
  • Non-existent ID/Class slightly faster
  • Filter next/prev slightly slower

Filesize drops from 91kb to 81kb minified versions.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • eburnett

    Yes, it’s tragic…what’s more is that it’s going to be a wall we are all going to slam into because we have our heads down – IE10 is very unpopular despite it’s good works because Win 8′s failure to launch – many Windows users are still reluctant to join the Win 8 group and will not be forced into Metro (myself included, even though I need to be familiar with it) there are other things that also led to this piss off in the buyer community – Microsoft selling Win 8 off “As Win 7″ and removing Win 7 from the store making it unavailable, meanwhile, retailers having to absorb the cost of over-inflated Home, Pro, and Ult editions of Win 7 where Win 8 could be purchased for less than $30 – this was just wrong. Having IE10 tail along with the OS is it’s weak point and continues to be it’s downfall despite the web dev’s best efforts to beef up the product. Whereby Microsoft responded harshly when Chrome news broke out amongst the web community on being the most popular browser – this was not new news at all – only to Microsoft, because it is inaccurately counting statistics against its own spread of versions of pre-release browsers, where both Chrome and Firefox both are on a rapid-release cycle phase. Rather than cut IE 6/7/8/9 users at the knees, The web team needs to go back and update each of these browser versions – detach from the production phase cycle and let the users opt out themselves. Jquery has made a horrible decision by trailing off the cliff along with IE, and the impact will be so much more detrimental for jQuery. End users don’t care what kind of javascript they are fed, designers do. Designers care very much about what resources are available at their disposal, and not only is tool in the toolbelt that needs to be carried around, now you need to load up two cores, uis, and random (jquery) scripts. Impressive.

  • someone

    you made a mistake, check the !!!!

    !!!!!<!!!!!
    <!–

  • srdn

    Very Helpful thanks a lot!