如果需要,IE8可以进入IE7模式。 jQuery如何检测这个?具体来说,$.browser.version
的价值是多少?
回答
在IE7模式下的IE8会报告IE7。 但是你可以分析用户代理并检查“Trident/4.0”。如果你看到这条线,那么你用IE8
该$.browser
obejct填充使用一个概念知道浏览器嗅探。简而言之,这是将数据从用户代理字符串中扫描出来的过程,这些字符串是由浏览器,机器人以及访问该页面的其他内容发送的。
由于用户代理伪造的敏感性,此对象在jQuery的更高版本中不推荐使用。目标检测和特征检测(请参阅$.support
)现在优先使用。
例如,Opera 8.5。用于自己标识为IE: http://www.javascriptkit.com/javatutors/navigator.shtml
$。支持:
http://docs.jquery.com/Utilities/jQuery.support
用户代理:
http://en.wikipedia.org/wiki/User_agent
http://www.zytrax.com/tech/web/browser_ids.htm
检测对象
http://www.quirksmode.org/js/support.html http://developer.apple.com/internet/webcontent/objectdetection.html
浏览器探测:
http://en.wikipedia.org/wiki/Browser_sniffing
特征检测:
好吧,是的,这很不错,但是'support'属性告诉我IE是否支持'inline-block'? 'leadingWhitespace,tbody,objectAll,htmlSerialize,style,hrefNormalized,opacity,cssFloat,scriptEval,noCloneEvent,boxModel' – nickf 2009-08-19 11:42:08
不知道他们是否会这样做。您可以尝试扩展.support功能(请参阅http://www.waytoocrowded.com/2009/03/14/jquery-supportminheight/上的示例),或者甚至有人已经扩展了此功能。不过,这对我来说有点不明确。 – 2009-08-19 12:21:44
JQuery只能看到浏览器告诉它的内容。
在IE7模式下,浏览器将自己报告为IE7,这就是JQuery将看到的内容。
什么浏览器告诉它可以是一个谎言 – 2009-08-19 09:29:52
嗯,有点......当在IE7模式下,一切应该像浏览器真的是IE7。浏览器报告渲染引擎的版本,而不是程序的实际版本。 – Guffa 2009-08-19 09:33:33
工作,我是.NET开发人员,我总是喜欢用一个Sessions.aspx页,我为这个问题kind'a创建
下跌免费使用它,我也可以共享代码。
正如您刚才所做的(14秒)您可以看到的MSIE 8和MSIE 7在javascript navigator属性中指定的那样,它们会在您更改兼容模式时发生更改,因为呈现页面的引擎略有不同(请记住,这不是100%的IE7引擎!)
,而不是使用在方法jQuery的BUIT,只要使用一般的JavaScript
IE8在IE7模式
4.0(兼容; MSIE 7.0; Windows NT的6.0; WOW64; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30618; .NET CLR 3.5.30729; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
IE8在本地模式
4.0(兼容; MSIE 8.0; Windows NT 6.0; WOW64;三叉戟/ 4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30618; .NET CLR 3.5.30729; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
代码:
var browserVersion = navigator.appVersion.toLowerCase();
if(browserVersion.contains('msie 8')) {
// IE 8
}
else if(browserVersion.contains('msie 7')) {
// IE 7
}
屏幕投射视频:http://www.balexandre.com/temp/showFlash.aspx?swf=2009-08-19_1138_ie8ie7.swf&w=952&h=742
哇,那届会议页面已经过时了 – Kloar 2013-05-16 18:58:25
有更好的吗? – balexandre 2013-05-16 21:29:32
我只是测试了这一点,我自己(刚刚下载的IE8)
当你将IE8与IE7兼容时,像这样的标签:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
的$.browser.version
值是仍然 8.0!
- 1. 什么是IE8不了解这个CSS?
- 2. 为什么IE8不是这样的JS?
- 3. 标签[...]不是IE8
- 4. Modernizr.load不是在IE8
- 5. jQuery的不是IE8
- 6. jquery.cookies不是在IE8
- 7. IE8不是偶尔
- 8. jQuery.hover不是在IE8
- 9. excanvas JS是不是在IE8
- 10. 什么是jQuery.html()取消对IE7和IE8
- 11. 什么是IE8最新的jQuery版本?
- 12. Addclass不是在IE8的jQuery
- 13. jQuery是:专注不在IE8
- 14. funtion insertAdjacentHTML不是在IE8
- 15. IE7上,而不是在IE8
- 16. jQuery的下拉不是IE8
- 17. AngularJS表达不是IE8
- 18. jQuery的autocompleter不是在IE8
- 19. PIE.htc圆角不是在IE8
- 20. 菜单是不是在IE8/7
- 21. jQuery是不是在IE8工作
- 22. 基金会utils的是不是在IE8
- 23. jQuery在IE8中不支持.has?什么是解决方法?
- 24. 为什么脚本在Firefox中运行,但不是IE8?
- 25. 为什么这个工作在Firefox和Chrome,但不是IE8
- 26. 这是什么错我的JavaScript代码?它不工作在IE8
- 27. 为什么会.load在IE8
- 28. IE8 Jquery scrollTop总是返回0
- 29. 为什么不工作在IE8的.change
- 30. 为什么div/img不在IE8中心?
“IE7标准模式”中的IE 8仍然从$ .browser.version报告“8.0”。 – bart 2012-11-21 00:46:01