由于不推荐使用jQuery.browser,并且jQuery.support是解决浏览器问题的推荐工具,因此建议如何处理以下问题?
Galleria插件的全屏主题在IE <8和IE8和9兼容视图模式下不能正常工作(错误的图像定位)。Doctype为HTML 5,并使用
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 但是如何正确地使用jQuery.support来检查IE版本是否是< 8 或兼容性视图是否仍然打开(因为我们为这些用户使用了另一个主题)?
更新:下面是我们现在使用的代码(在html的底部)。
<script type="text/javascript">
$(document).ready(function () {
if ($.browser.msie && $.browser.version < 8) {
Galleria.loadTheme('js/galleria/themes/classic/galleria.classic.min.js');
$("#gallery").galleria({
/* ... */
});
} else {
Galleria.loadTheme('js/galleria/themes/fullscreen/galleria.fullscreen.min.js');
$("#gallery").galleria({
/* ... */
});
}
});
</script>发布于 2012-01-03 10:10:15
我如何正确地使用
jQuery.support,检查IE版本是否<8,或者兼容性视图是否仍然打开?
不是为检测浏览器版本而设计的。,但是要检测特定的浏览器错误。如果您可以确定此错误的来源(可能是由.boxModel属性测试的),则可以将If -语句作为该逻辑的基础。
特征检测比简单地检测浏览器版本更加健壮,因为理想情况下,这些测试将针对任何有缺陷的浏览器--而不仅仅是IE系列中的浏览器。
如果您不想跟踪该浏览器错误的来源(从而找到正确的.support测试),那么这个线程似乎为浏览器版本和可兼容性模式检测提供了稍微“完整”的测试。。
下面是该线程的代码:
isIE8CompatMode() {
return $.browser.msie
&& $.browser.version == 7.0
&& document.documentMode
&& document.documentMode == 8;
}当然,您可能希望将其修改为使用<和>测试。
它仍然依赖于$.browser,但似乎也会对兼容性模式(通过属性)进行额外的检测。
发布于 2012-01-03 10:05:54
这是普通的javascript,而不是jQuery。你可以用documentMode。看这里,确定文档兼容性模式。这里是documentMode性质。
发布于 2013-05-17 20:04:30
从以上所述,这就是我所使用的IE7文档或IE7可维护模式。
var IE7BrowserMode = ($.browser.msie && $.browser.version == 7.0);
var IE7DocumentMode = ($.browser.msie && document.documentMode && document.documentMode == 7);
return( IE7BrowserMode || IE7DocumentMode );https://stackoverflow.com/questions/8710385
复制相似问题