一种处理以前用$ .getScript()加载的脚本文件的方法

时间:2011-05-07 02:04:36

标签: jquery getscript

抱歉我的英文。我正在开发一个国际象棋互动网站。有一个课程菜单,当用户选择课程时,它使用$.getScript()加载。课程文件只有一个包含“大”json对象的变量lesson。当用户选择另一个课程时,将加载文件,新的lesson var将覆盖前一个。

好的,这很有效。但是,我应该处理以前加载的文件,如果我应该,我怎么做?如果用户浏览了50个课程,它会减慢进程吗?

我在加载文件时看了一下firebug,<head>,据说$.getScript()放了文件,然后发出'黄色闪光',但没有添加任何可见的内容。

我想知道你对此的看法。提前谢谢。

2 个答案:

答案 0 :(得分:1)

$.getScript实际上并没有加载文件(即将其作为脚本标记附加到头部),而是下载脚本.js文件并立即运行它。当然,您可以在脚本中包含某种终止函数,在您完成使用后将其自行清除。

答案 1 :(得分:0)

即使您“处置”了该文件,或删除了脚本标记或其他内容,您的脚本已经被执行,因此,您的变量仍然存在。

唯一的方法是在选择其他课程时设置为null json对象。

例如,如果lesson1.js文件中包含以下json:

var lesson1data = { 
  ...Big json comes here...
};

在您的主页/脚本中,您应该:

function selectLesson(lessonNumber){
   lesson1data = null; //This 'cleans' the loaded data
   lesson2data = null; //This 'cleans' the loaded data
   ...
   $.getScript(...); //Load json data for selected lesson
}

希望这会有所帮助。干杯

相关问题