2011-05-16 21 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