<script src="myscript.js" type="text/javascript"></script>
<script type="text/javascript">testfunction("hello");</script>
內myscript.js:
if(!window.jQuery)
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = 'jquery-1.9.0.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
function testfunction(str) {
$(document).ready(function() {
alert(str);
});
}
當然不需要對當前testfunction的jQuery,但它將需要。使用這種方法,jQuery被下載,但在調用testfunction()時未載入瀏覽器(Uncaught ReferenceError:$未定義)。
我能做的是在我的JS加載之前在不同的腳本中加載jQuery。在這種情況下,它會起作用,但我會有三種不同的腳本,而且我認爲這看起來不夠高雅。
有沒有其他辦法可以達到這個目的?
謝謝!
只需先用jQuery添加腳本標籤,然後依賴jQuery的腳本,它應該在沒有任何欺騙的情況下開箱即用? – adeneo 2013-03-05 17:21:11
只需添加腳本「正常」的方式。它比任何動態加載它都要優雅得多。 – JJJ 2013-03-05 17:22:34
我不想爲用戶加載jQuery兩次(這是一個嵌入到另一個網頁的JS,這對我來說是失控的,這就是爲什麼我要檢查網頁是否強制用戶加載jQuery) 。 – Jonhas 2013-03-05 17:24:51