$ .getScript的javascript范围问题

时间:2014-02-19 16:28:40

标签: javascript jquery

我有以下代码,它正在加载一些javascript然后从加载的javascript调用方法:

var knackCustomApiLocation =“https://c9.io/xxx/xxx/xx/js/xx.js”;

  $.getScript(knackCustomApiLocation).done(function( script, textStatus ) {
    alert($.fn.jquery);
createRecords(context);

  })

第一个警报版本打印正常,但我也尝试在createRecords方法中打印版本:

function createRecords(context){
   alert($.fn.jquery);
   createNewQuotationsForEachUnderwriter(context);
}

我得到一个:'未捕获的TypeError:无法读取未定义的属性'fn'

所以显然jquery不在加载脚本的范围内,但不确定如何修复它,以便被调用的javascript可以访问jquery,以及是否与跨域问题有关。

谢谢,

标记

1 个答案:

答案 0 :(得分:0)

感谢所有人的帮助,这正是我所需要的。

是的,看起来考虑到我正在处理的环境,jquery没有在全球范围内定义。一旦我将jquery定义为全局变量,一切都有效。

   window.$ = $;

不确定这是否是最佳做法,欢迎提出建议!