2

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

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

我在加载文件时查看了萤火虫<head>,并且应该$.getScript()将文件放在哪里,它会发出“黄色闪光”,但没有添加任何可见的内容。

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

4

2 回答 2

1

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

于 2011-05-07T02:10:45.773 回答
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
}

希望这可以帮助。干杯

于 2011-05-07T02:10:49.077 回答