0
因此,我創建了一個在客戶端頁面上加載HTML的應用程序,我需要通過JavaScript加載幾個腳本並在HTML上執行操作。特別是我需要使用JS來獲取同位素JavaScript文件,然後在我們剛創建的HTML上初始化它。使用jQuery.getScript時無法初始化插件(同位素)
另請注意,我在noConflict模式下運行jQuery,因此腳本不會在客戶端網站上導致錯誤。在測試中,如果我在HTML中對<腳本>標記進行了硬編碼,則我的代碼可以正常工作,但這對於最終產品來說不可行。我需要通過JS獲取外部腳本,因爲它是動態的。問題是我得到以下錯誤:
「遺漏的類型錯誤:未定義是不是一個函數」
<script src="http://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
<style type="text/css">
div.item {width:200px; height:200px; background:#039; margin:10px;}
</style>
<div id="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<script type="text/javascript">
$(document).ready(function() {
ch_jquery = jQuery.noConflict(true);
ch_jquery.getScript('http://isotope.metafizzy.co/isotope.pkgd.min.js', function(){
$('#container').isotope();
});
});
</script>
任何意見讚賞!
我列入 「外部資源」 jQuery的。我沒有意識到它需要在「框架」之下。謝謝。 您沒有爲您的isopote初始化或您的(document).ready函數使用「ch_jquery」。當我使用「ch_jquery」而不是「$」時,它會中斷。爲什麼你選擇使用「$」,如果有多個版本的jQuery,不會導致衝突。 – DigitalMC 2015-02-24 15:24:00
是的,所以問題仍然存在,但在你的例子中(由於'true'布爾值),你正在解引用每個jQuery相關變量,如文檔中所說的 '布爾值,指示是否從全局範圍中移除所有jQuery變量(包括jQuery本身)。 http://api.jquery.com/jquery.noconflict/ – rsz 2015-02-24 17:37:38
它也說:「如果由於某種原因加載了兩個版本的jQuery(這是不推薦的),調用$ .noConflict(true)從第二個版本將返回全局範圍的jQuery變量到第一個版本的變量。「這實際上是我想要做的。保持所有預定義的jQuery引用正常工作,併爲我需要運行的所有特定JS創建一個新的jQuery變量「ch_jquery」。 – DigitalMC 2015-02-24 17:55:55