我想從JavaScript文件中包含jQuery。我嘗試了以下方法,但它不起作用。從另一個JavaScript文件中包含jQuery
var script = '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>';
document.getElementsByTagName('head')[0].appendChild(script);
我想從JavaScript文件中包含jQuery。我嘗試了以下方法,但它不起作用。從另一個JavaScript文件中包含jQuery
var script = '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>';
document.getElementsByTagName('head')[0].appendChild(script);
</script>
關閉開口<script>
塊,即使是在一個字符串。我會做這種方式:
(function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = document.location.protocol + '//code.jquery.com/jquery-1.9.1.min.js';
document.getElementsByTagName('head')[0].appendChild(script)
})();
var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-1.9.1.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
(function() {
var script = document.createElement('script');
script.type = "text/javascript"; // keeping older browsers happy.
script.src = window.location.protocol + '//code.jquery.com/jquery-1.9.1.min.js';
// browsers prevent cross-protocol downloading.
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);// In Opera a site can get by without a <head>
})();
'window.location.protocol'離開冒號到最後。 – Blender 2013-05-03 23:55:21
只需使用jQuery的getScript加入()方法加載jQuery的:http://api.jquery.com/jQuery.getScript/
...只是開個玩笑。
試試這個代碼:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://code.jquery.com/jquery-1.9.1.min.js';
head.appendChild(script);
來源:http://unixpapa.com/js/dyna.html
另外,如果使用HTTPS網頁上,您將需要從HTTPS兼容CDN加載腳本,像谷歌託管庫( src =「// ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js」)
首先,變量腳本包含序列</script>
,您無法使其顯示因爲它在你的代碼中,因爲瀏覽器會屁股梅(它必須),它是<script>
標籤關閉。 例如,如果您的腳本代碼中包含語法錯誤,這是一個沒有接近"
它會看起來像
<script>var bad = "abcd ;</script>
解決這個可以打破</script>
串像"</scr" + "ipt>"
或者你可以逃避它一個字符串變量:"<\/script>"
這樣:
var script = '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"><\/script>';
document.getElementsByTagName('head')[0].appendChild(script);
第二件事情是appendChild()
函數接受一個Node元素,而不是一個字符串
這樣:
var script = document.createElement("script");
script.src = "http://code.jquery.com/jquery-1.9.1.min.js";
document.getElementsByTagName("head")[0].appendChild(script);
不管怎麼說,我更喜歡使用一個模塊和JavaScript器,例如RequireJS。
爲什麼要投票? – 2013-05-04 00:01:26
使用一個微小的可重複使用的腳本加法:
function fetch(url){
var d=document, s='script';
d.getElementsByTagName(s)[0].parentNode.appendChild(d.createElement(s)).src=url;
}
fetch('//code.jquery.com/jquery-1.9.1.min.js');
並不是所有的頁面都在所有的瀏覽器負責人,但如果一個腳本運行,這樣可以同級腳本標籤...
沒有按的appendChild不會自動解析HTML字符串 – Dave 2013-05-03 23:32:13