2011-05-16 45 views
0

這是我目前的書籤代碼。Bookmarklet中的多個jQ.src

 
if (1 == 1) { 
    var jQ = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.onload=runthis; 
    jQ.src = 'http://www.domain.com/jquery-1.5.2.min.js'; 
    document.head.appendChild(jQ); 
} 

我想調用多個jQ.src。我試過這個,但它在某些網站上不起作用。

這是我目前的書籤代碼。

 
if (1 == 1) { 
    var jQ = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.onload=runthis; 
    jQ.src = 'http://www.domain.com/jquery.js'; 
     jQ.src = 'http://www.domain.com/jquery2.js'; 
    document.head.appendChild(jQ); 
} 

在一些網站上,它的作品和其他它沒有任何見解?

謝謝!

回答

1

你確定這個網站有效嗎?我認爲你只是幸運地拿起網站已經加載的jQuery。

無論如何,如果你想添加兩個JavaScript文件,那麼你就必須追加合併兩個腳本標記:

var jQ = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jquery.js'; 
document.head.appendChild(jQ); 

jQ  = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jquery2.js'; 
jQ.onload = runthis; 
document.head.appendChild(jQ); 

還要注意的是onload只在第二個,因爲您可能需要兩個JavaScript文件加載之前runthis將工作。

如果你加載了jQuery,你可能會如果頁面已經裝好了要檢查:

var jQ; 
if(typeof window.jQuery != 'function') { 
    // jQuery isn't there yet so load it up. 
    jQ  = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.src = 'http://www.domain.com/jquery.js'; 
    document.head.appendChild(jQ); 
} 
jQ  = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jQuery2.js'; 
jQ.onload = runthis; 
document.head.appendChild(jQ); 

添加jQuery.noConflict()調用可能是一個好主意太,頁面可能使用$的東西否則強迫它是jQuery可能會破壞頁面。

+0

你說得對。我剛剛加載了已經加載JQuery的網站。追加兩個腳本完美地工作。謝謝你的幫助! – Chris 2011-05-16 05:11:48