2013-09-30 34 views
1

我正在從谷歌的cdn中加載jQuery UI。它適用於我必須支持的每個瀏覽器(IE8 +),但IE9除外。在IE9中加載JQueryUI 1.10.3時出錯

$.support.selectstart = "onselectstart" in document.createElement("div"); 

的錯誤是::

SCRIPT438: Object doesn't support property or method 'createElement' 

的代碼把它列入我在這一行(在unminified版本線249)上獲得的jQuery UI的代碼頁加載一個奇怪的錯誤是

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.js"> 
</script> 

我已經看了調試器中的「文件」的對象,而且似乎已的createElement定義(如預期)。

+0

也許你有一個局部變量重寫'文檔'?嘗試僅包含jQuery UI腳本並查看問題是否仍然存在。 – Pavlo

+0

我會盡力,但我希望它會導致其他瀏覽器出現問題。雖然我錯了! –

+0

您是否嘗試回滾到1.10.2或.1? – Blazemonger

回答

3

我終於發現了這個問題。我不知道爲什麼會發生這種情況,但出於某種原因,IE9中有一個範圍問題文檔並不是您期望的文檔。

行爲可以在這裏看到:http://jsfiddle.net/esn2v/8/

with(block = document.createElement('div')) { 
    with(detaildiv = document.createElement('div')) { 
     alert('test'); 
    } 
} 

它工作正常,除了IE9瀏覽器的任何。如果您在IE9中打開它,則不會發生警報,​​您可以查看控制檯以查看有關文檔的錯誤。

它不會發生,如果你只是包括jQuery和jQuery UI的喜歡這裏:http://jsfiddle.net/uRFz5/

<script src= 
"//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 

我的應用程序必須僅僅是一個完美風暴導致此問題的發生。

+2

+1,因爲一個月後回來回答自己的問題。 – Ennui