我现在有几个问题困扰我,所以我来看你们的帮助。
情况如下: 我在我的应用程序中使用jquery-2.1.4.js。如果我在应用程序之外测试我的代码片段它可以正常工作,但是当它在我的应用程序中时,Jquery没有正确加载。
Jquery正确地包含在我的存储库中,并且在我的页面中在body标签结束之前调用了这个(我将它从head标签移开它可能是问题,但我仍然遇到同样的错误):
<script type="text/javascript" src="js/jquery-2.1.4.js"></script>
我测试Jquery是否正确加载如下:
if (typeof jQuery == 'undefined') {
// jQuery is not loaded
alert("jquery not loaded,force it");
var jq = document.createElement('script');
jq.type = 'text/javascript';
// Path to jquery.js file, eg. Google hosted version
jq.src = 'js/jquery-2.1.4.js';
document.getElementsByTagName('head')[0].appendChild(jq);
} else {
// jQuery is loaded
alert("jquery is loaded");
}
问题现在在这里:),每次我最终都在未加载的部分,当我强制Jquery加载时,我在函数上得到了J39ery文件的错误行3539:
function Data() {
Object.defineProperty( this.cache = {}, 0, {
get: function() {
return {};
}
});
this.expando = jQuery.expando + Data.uid++;
}
显示错误消息:
此对象没有此属性或方法:defineProperty (不确定这个的英文,我的错误信息是法文)。
您知道,只有当我点击按钮时,才会对Load执行操作。我们带有JS代码的文件位于.include中,所以我不知道这是否是触发错误的原因。
无论如何,感谢您花时间帮助我。
Slayner。
答案 0 :(得分:1)
您需要包含expando
库,因为它不是标准jQuery的一部分。尝试添加:
<script src="//cdn.rawgit.com/cantino/expando/38affee59bffdd87975c492472362c69ce0f6fda/jquery.expando.js"></script>
在此之后:
<script type="text/javascript" src="js/jquery-2.1.4.js"></script>
答案 1 :(得分:0)
好吧,所以这对我不起作用的原因是我们的应用程序是作为IE5应用程序加载的,并且与JQuery不兼容(不是这几年的版本。)