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