IE11triggers Netscape runtime selection due to false UA string
nevow-migration opened this issue · comments
IE11 identifies itself as
'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'
which leads subsequently to the wrong assumption of the DivMod UA detection code, that the browser runtime should be set to Firefox with XPath capabilities being present. The error manifests itself by IE11 stating, that XPathResult is undefined.
A possible fix is expanding the test for IE to test for 'Netscape' and no XPathNamespace defined, while the actual 'Netscape' type browser Firefox would then have XPathNamespace defined.
For an explanation of the UA strings used by IE11, please see:
http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx
Imported from Launchpad using lp2gh.
- date created: 2013-11-11T05:12:15Z
- owner: werner-thieprojects
- the launchpad url was https://bugs.launchpad.net/bugs/1249946
I don't have a direct answer for you, but I know we have some local changes to fix things on IE8+, so I'll check to see exactly what approach was taken there; I think there's some kind of feature testing involved, but not using Modernizr.
Regarding testing, I think currently the only way to do this is to run the nits on the browser you want to test support for; we don't have any automated infrastructure for this, however. Also, some of the nits stopped passing quite a while back, so it's hard to tell which failures to worry about :(