3 ms·
I'm glad to see that Microsoft is finally ripping out all the weird legacy modes -- IE11 essentially ships with 6 different rendering engines! [1] * IE5 (quirk
by FreakyT 12y ago
I'm glad to see that Microsoft is finally ripping out all the weird legacy modes -- IE11 essentially ships with 6 different rendering engines! [1]
* IE5 (quirks mode)
* IE7 (compatibility view)
* IE8, IE9, and IE10 (available from the x-ua-compatible meta tag)
* IE11's actual rendering engine
As an aside, the hilariously long user-agent string is perhaps the best evidence that string-based browser detection is something that web devs should avoid at all costs. It manages to include "Safari", "Chrome", "AppleWebKit", "KHTML", "Mozilla", and "Gecko".
[1] https://msdn.microsoft.com/en-us/library/dn321432.aspx https://msdn.microsoft.com/en-us/library/dn321432.aspx
- leeoniya 12y agoif you're not detecting on the client (via javascript), then you have to rely on headers. well, maybe via IE conditional comments + cookie setting on transparent pixel request
- stephenr 12y agothe point is you should be doing feature tests, not browser tests.
- leeoniya 12y agothere's no such thing as a feature test on the server side.
- stephenr 12y agoThe things that are different are almost exlusively related to client side tech- html, css and js.
- exprE 12y agoIn an ideal world, perhaps. Sadly, in the real world, a browser seemingly supporting a feature doesn't mean it gets it right, and not all features can be detected by testing.
- spain 12y ago>As an aside, the hilariously long user-agent string is perhaps the best evidence that string-based browser detection is something that web devs should avoid at all costs. It manages to include "Safari", "Chrome", "AppleWebKit", "KHTML", "Mozilla", and "Gecko". Further reading: http://webaim.org/blog/user-agent-string-history/ http://webaim.org/blog/user-agent-string-history/
- hughes 12y agoFor the lazy, the new UA string is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0 Glad I don't deal in server-side analytics!
- bzbarsky 12y agoIt's basically the Chrome 39 UA string with "Edge/12.0" added to the end so people who really care can tell it's not really Chrome....
- eyeareque 12y agoI'm sure the reasoning behind those modes is because they had big (paying) customers who needed them there to help their "never ever getting an update" mission critical system webpages continue to work properly.