抱歉我的英文。我正在开发一个国际象棋互动网站。有一个课程菜单,当用户选择课程时,它使用$.getScript()
加载。课程文件只有一个包含“大”json对象的变量lesson
。当用户选择另一个课程时,将加载文件,新的lesson
var将覆盖前一个。
好的,这很有效。但是,我应该处理以前加载的文件,如果我应该,我怎么做?如果用户浏览了50个课程,它会减慢进程吗?
我在加载文件时看了一下firebug,<head>
,据说$.getScript()
放了文件,然后发出'黄色闪光',但没有添加任何可见的内容。
我想知道你对此的看法。提前谢谢。
答案 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
}
希望这会有所帮助。干杯