2014-02-12 31 views
1

我使用jQuery 1.10.2 simplemodal 1.4.4,並在IE8中得到'未實現'的錯誤。這是由於simplemodal錯誤地檢測到IE處於怪癖模式並執行'fixIE'函數,該函數應該解決IE6和IE7中的問題,但在IE8(也可能是IE9 +)中存在錯誤。simplemodal與jQuery 1.10.2由於怪異模式被錯誤檢測不工作在IE瀏覽器

simplemodal做以下檢查ieQuirks:

browser.ieQuirks = browser.msie && !$.support.boxModel; 

的問題是,$ .support.boxModel已經removed從jQuery的1.10這樣!$.support.boxModel總是返回true。

我想知道檢測怪癖模式的最佳方法是在IE中,所以我可以替換!$.support.boxModel

+1

只是在使用插件之前自己提供boxModel值 – Endless

+0

或者您可以用工作代碼替換插件代碼中的檢測... http://stackoverflow.com/questions/627097/how-to-tell-if -a-瀏覽器是功能於怪癖模式 – CBroe

回答

2

最新的簡易模態的版本[1.4.4]使用$ .support.boxModel,[239線],其。不從Jquery的1.10支持*

要解決此問題,替換以下行:

// Line 240: browser.ieQuirks = browser.msie && !$.support.boxModel; 

browser.ieQuirks = browser.msie && (document.compatMode === "BackCompat"); 
0

這是jQuery的帶走了,你可以將它放回,如果你想

var div = document.createElement("div"); 
div.style.width = div.style.paddingLeft = "1px"; 

document.body.appendChild(div); 
jQuery.support.boxModel = div.offsetWidth === 2;