Javascript 由于未正确检测到怪癖模式,带有jQuery 1.10.2的SimpleModel无法在IE中工作
我在jQuery1.10.2中使用SimpleModel1.4.4,在IE8中出现“未实现”错误。这是由于SimpleModel错误地检测到IE处于怪癖模式,并执行“修复”功能,该功能本应修复IE6和IE7中的问题,但在IE8中出现错误(可能还有IE9+) SimpleModel将执行以下检查以查看是否存在异常:Javascript 由于未正确检测到怪癖模式,带有jQuery 1.10.2的SimpleModel无法在IE中工作,javascript,jquery,internet-explorer,simplemodal,Javascript,Jquery,Internet Explorer,Simplemodal,我在jQuery1.10.2中使用SimpleModel1.4.4,在IE8中出现“未实现”错误。这是由于SimpleModel错误地检测到IE处于怪癖模式,并执行“修复”功能,该功能本应修复IE6和IE7中的问题,但在IE8中出现错误(可能还有IE9+) SimpleModel将执行以下检查以查看是否存在异常: browser.ieQuirks = browser.msie && !$.support.boxModel; 问题是,$.support.boxModel来自jQu
browser.ieQuirks = browser.msie && !$.support.boxModel;
问题是,$.support.boxModel来自jQuery 1.10,所以!$。support.boxModel
始终返回true
我想知道在IE中检测怪癖模式的最佳方法是什么,这样我就可以替换
!$。support.boxModel
?这是jquery拿走的东西,如果需要,您可以将它重新插入
var div = document.createElement("div");
div.style.width = div.style.paddingLeft = "1px";
document.body.appendChild( div );
jQuery.support.boxModel = div.offsetWidth === 2;
Simple Modal[1.4.4]的最新版本使用了$.support.boxModel,[Line 239],这是Jquery 1.10不支持的* 要解决此问题,请更换以下行:
// Line 240: browser.ieQuirks = browser.msie && !$.support.boxModel;
与
在使用插件之前,您只需自己提供boxModel值,或者您只需将插件代码中的检测替换为有效的检测…
browser.ieQuirks = browser.msie && (document.compatMode === "BackCompat");