http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
When Internet Explorer is in Compatibility Mode (IE >= 8), then it sends a user angent:
... MSIE ${versionEmulated}; Trident/${realVersion} ...
So, by example, in my IE8:
Normal mode
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322; .NET4.0C)
compatibility mode:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322; .NET4.0C)
browscap is detecting IE8 in compatibility mode as IE7, which I think as incorrect.
Some expresions with Trident are misplaced (placed on the section of version indicated by MSIE instead of the section that matches Trident).
Solution: move and change expresions with Trident to the real matching IE.
Trident/4.0 -> Internet Explorer 8
Trident/5.0 -> Internet Explorer 9
Trident/6.0 -> Internet Explorer 10
Trident/7.0 -> Internet Explorer 11
Hi Alberto
There is already a thread regarding IE compatibility mode. Please see the following thread for my response on this:
https://groups.google.com/forum/m/#!topic/browscap/N9ceq6h7Uo8
Thanks
James
--
You received this message because you are subscribed to the Google Groups "browscap" group.
To unsubscribe from this group and stop receiving emails from it, send an email to browscap+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Maybe you prefer joining it to the other issue.
Thanks
Alberto
really is duplicate of
https://groups.google.com/forum/#!topic/browscap/FFf70xDM4XU
https://groups.google.com/forum/#!topic/browscap/-4P1wNXdrUA
I propose to detect IE8+ versions by their Trident token at first, because it gives the real version
I don't think its necessary to start a discussion which system is better.
That's because, in my opinion, there is one thing that is worse than using any of those systems.
And that's CHANGING IT in a popular class that has a long history.
People who actually use the ->version data in their code won't suddenly revise all their code because you've decided to change your mind about identification of IE in compatibility mode. That's because the vast majority of them won't know about the change.
This means that, if such change would be introduced, it would break a lot of existing code.
Adding an additional field so you can identify the real version of the browser does not create this problem.
So, in my opinion, whatever identification is done now should be absolutely kept without change.
Hi there,
Browscap is intended to identify the browser capabilities, and therefore if IE is in compatibility mode, we should accept the intended UA as the browser is intending to emulate the capabilities of the older browser.
IE compatibility mode should be identified by the browser it is trying to masquerade as, not the actual browser.
James
I am sure that this decision is a mistake. I used browscap only for identification compatibility mode browsers to block unwanted versions. Requires a separate data field to determine the real browser version.
--
You received this message because you are subscribed to the Google Groups "browscap" group.
To unsubscribe from this group and stop receiving emails from it, send an email to browscap+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.