Forgot your password?
typodupeerror
Internet Explorer

jQuery 2.0 Will Drop Support For IE 6, 7, 8 250

Posted by Soulskill
from the go-big-or-go-home dept.
benfrog writes "The developers of jQuery recently announced in a blog entry that jQuery 2.0 will drop support for legacy versions of Internet Explorer. The release will come in parallel with version 1.9, however, which will include support for older versions of IE. The versions will offer full API compatibility, but 2.0 will 'benefit from a faster implementation that doesn't have to rely on legacy compatibility hacks.'"
This discussion has been archived. No new comments can be posted.

jQuery 2.0 Will Drop Support For IE 6, 7, 8

Comments Filter:
  • Re:Like (Score:5, Informative)

    by Kate6 (895650) on Friday July 13, 2012 @03:47PM (#40642333) Homepage
    You see the bit where it says "full API compatibility"? That means with a few lines of PHP (or some equivalent back-end language) you can have a look at the user's browser USERAGENT string, figure out if it's an MSIE browser or not and serve the preferable version of jQuery... 1.9 for legacy IE, 2.0 for IE9 and for standards compliant browsers. And the "full API compatibility" means the rest of your code will play nice with either.
  • Missing the point (Score:5, Informative)

    by bobetov (448774) on Friday July 13, 2012 @03:51PM (#40642417) Homepage

    All, one of the big reasons for this move is to provide a cleaner, smaller, faster version of jQuery to apps dedicated to a given platform, such as iOS apps running as HTML5 shells. These applications know their "browser" environment, and thus can benefit from lack of IE support with no cost in terms of audience size.

    No one who has a general-public website should use 2.0 for years to come, but if you're developing a quickie Android app, or one of the dozen or so javascript-based desktop shells, etc, then this move is for you.

  • by tobiasly (524456) on Friday July 13, 2012 @03:57PM (#40642501) Homepage

    Does anyone here have enough knowledge of the JQuery codebase to say how the IE-specific cruft breaks down by version?

    IE6 is a monstrosity; that's pretty much a given, and IE7 isn't great either. I could see dropping support for both of those being a big win in terms of cleaning up the codebase. That said, how much do they gain by dropping IE8 as well? It was only released 3 years ago.

    The "promoted reader comment" in the linked Ars article [arstechnica.com] actually answers exactly that:

    Drizzt321 wrote:
    Wow, removing support for IE8? That's a really bold move. I can see IE6 & 7, those are rather old and should be deprecated and people should be really encouraged to move to newer versions.

    John Resig has said in interviews that most of the IE6 and IE7 code is needed for IE8 as well. While IE8 has far better layout and CSS engine evidently it still has pretty bad DOM API. Resig pointed out that dropping support for IE6 and IE7 would have very little impact on the size and complexity of the library unless they drop IE8 as well

  • by cyber-vandal (148830) on Friday July 13, 2012 @04:07PM (#40642665) Homepage

    You can use conditional comments to load the older version of JQuery for IE6, 7 and 8 so it's not as bad as it seems. Web designers have been doing this for years to hack around Microsoft's incompetence,

  • by kawika (87069) on Friday July 13, 2012 @04:12PM (#40642757)

    As far as bugs and quirks go, a lot of the ones in IE6 and IE7 are also present in IE8. In specific, things like eating HTML5 tags, the lack of true opacity support and the proprietary IE event model that used attachEvent instead of addEventListener. There's quite a bit of code in jQuery to deal with IE event issues, for example the lack of a bubbling change event. IE8 managed to plug some memory leaks and wasn't as bizarre with the "attroperties" issue as IE7 was, but they still have a lot of sins in common.

  • Re:Like (Score:5, Informative)

    by dingen (958134) on Friday July 13, 2012 @04:20PM (#40642883)

    But .delegate(), .on() and .live() all still work with recent versions of jQuery, so your old code still runs with newer versions of the library. New features being introduced is not bad. The pain starts when old features are dropped.

  • by jellomizer (103300) on Friday July 13, 2012 @04:21PM (#40642899)

    However my organization just Upgraded to IE 8.

    There isn't any plan to be going to 9 in the near future as there are too apps that have issues with following Open Standards.

  • by steveb3210 (962811) on Friday July 13, 2012 @04:34PM (#40643093)
    Why do organizations target specific versions of browsers - I really don't understand why its so hard for people to write cross-browser web applications - I do it every day at my job..
  • Re:Like (Score:5, Informative)

    by Art3x (973401) on Friday July 13, 2012 @05:46PM (#40643917)

    with a few lines of PHP (or some equivalent back-end language) you can have a look at the user's browser USERAGENT string, figure out if it's an MSIE browser or not and serve the preferable version of jQuery... 1.9 for legacy IE, 2.0 for IE9 and for standards compliant browsers.

    Or do it with HTML comments (this actually works):

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

    Less code. Also you've offloaded the CPU processing from your server to the user's browser.

    This was in the article by the way. . . . Oh . . . nevermind.

  • Re:Like (Score:5, Informative)

    by jmerlin (1010641) on Friday July 13, 2012 @06:48PM (#40644537)
    User Agent hacks are incompatible with caching. Bad idea. Use conditional comments so IE gets its familiar old diaper and every other browser gets a shiny new car. Either that or propose an If-User-Agent header so proxies and caches can figure out whether your request is the same as a previous one.
  • by TheCycoONE (913189) on Friday July 13, 2012 @08:21PM (#40645207)

    The first part of your comment is true, 10 is dropping them. The second part isn't - conditional comments can be written either to exclude or include all browsers that don't support them (with comment syntax or tag syntax). When using comment syntax IE6-9 can execute a piece of code that all other browsers see as a comment.

  • Re:Like (Score:4, Informative)

    by toejam13 (958243) on Friday July 13, 2012 @09:13PM (#40645463)

    You can just do this on a Layer 7 switch like a load-balancer.

    rule old_browser_rule {
      when HTTP_REQUEST {
        switch -glob [string tolower [HTTP::header User-Agent]] {
          "*msie 5*" -
          "*msie 6*" -
          "*msie 7*" -
          "*msie 8*" {
            pool jquery1_pool
          } else {
            pool jquery2_pool
          }
        }
      }
    }

    virtual www_80 {
      destination 1.1.1.1:80
      rules old_browser_rule
      profiles http tcp
    }

"For the man who has everything... Penicillin." -- F. Borquin

Working...