2011-09-14 71 views
2

我的jsp加載Mootools,jquery,然後我的Javascript文件以相同的順序。 在IE8中,第一次加載時,它會拋出錯誤「對象不支持這個屬性或方法」,JS根本不起作用。'對象不支持此屬性或方法'顯示爲jQuery.noconflict()

我在JSP載入的文件爲:

new Asset.javascript('/js/jquery-1.6.4.min.js', {id: 'jQuery'}); 
new Asset.javascript('/js/MyScript.js', {id: 'CWScript'}); 

的MyScript.js看起來:

jQuery.noConflict(); 
jQuery(document).ready(function(){ 
... 

它工作在FF,IE6,Chrome和Safari罰款,但在突破第1行字符1在IE8中

+0

嘗試給它一個不同的'id'。 IE使窗口對象IIRC的'id'屬性成爲可能。 – alex

回答

1

我不知道Mootools,但對我來說,它看起來像簡單的競爭條件(假設Assets異步加載並且沒有任何指定的順序執行)。嘗試加載MyScript.jsonLoad回調jQuery加載資產。

而且,請記住 - 如果你正在使用jQuery.noConfilct我強烈建議使用此:

jQuery(document).ready(function($){ 
    //here you have local to jQuery under $ variable 
}); 
相關問題