rub*_*o77 1 php internet-explorer-10
是否有可能从使用PHP的PHP中检测到IE处于兼容模式?
我使用IE10并拥有useragent
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Run Code Online (Sandbox Code Playgroud)
因此它显示为Internet Explorer 7.
当然,仅依靠PHP的这种检测是一个坏主意,但它对某些情况非常有用(例如使用PHP或调试提示进行日志记录,......)
从这个资源:http://msdn.microsoft.com/en-us/library/ie/hh869301(v = vs.85).aspx
要在兼容模式而不是常规IE 7中检测IE 10,您应该查看Trident/6.0标识IE 10 的令牌而不管模式如何.
要从PHP中检测它,请从标头中获取用户代理并解析它以获取Trident/6.0字符串标记.
您可以从Trident令牌识别更多版本的Internet Explorer:IE9具有Trident/5.0IE 8 Trident/4.0,IE 7在其用户代理中没有Trident.
可以在以下位置找到用户代理字符串$_SERVER['HTTP_USER_AGENT'].从那里搜索内部的子字符串或使用正则表达式是微不足道的.
IE10用户代理参考:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Trident/6.0) 请注意,MSIE令牌不同,但Trident令牌是相同的.这表示用户已启用兼容模式.