未捕获的ReferenceError:$未定义

时间:2013-09-04 09:30:06

标签: javascript jquery iframe google-gadget

我正在尝试创建一个谷歌小工具,应该建立在javascript.every google小工具上创建一个iframe元素。对于某些约束,我无法直接从脚本tag.i添加jquery必须使用javascript包含它所以我写了一个代码

function addScript(jsRelativeUrl) {
  var rebasedUrl = rebaseRelativeUrl(jsRelativeUrl,true);

 var x = document.createElement('script');
 x.type='"text/javascript"';
 x.src='"'+rebasedUrl+'"';
if(x.src.indexOf('scripts/jquery-1.9.1.min.js')>=0)
 document.head.appendChild(x)
else document.body.appendChild(x);

}

我第一次调用此函数

gadgets.util.registerOnLoadHandler(function(){
  addScript('scripts/jquery-1.9.1.min.js');
     $(function (){});
});

但它给了我错误

 Uncaught ReferenceError: $ is not defined 

当我看到元素时,jQuery包含在iframe的head标签中。 任何人都可以帮助我为什么会得到这个错误以及如何解决这个错误?

1 个答案:

答案 0 :(得分:-1)

您要附加script标记,以便在嵌入文档的headbody末尾加载jquery。如果您正在执行的代码位于jquery导入标记的位置之前(例如,在script的{​​{1}}部分中,或者 - 如果附加到head的末尾 - 在<{1}}中的body部分,它不能出现。