我正在开发一个离线专用帮助系统,该系统需要在使用搜索功能之前将大量与搜索相关的数据加载到iframe中。由于项目的文件夹结构,我无法使用与Ajax相关的后台加载方法,因为我需要的文件被“一遍又一遍”地加载了几个目录。
我编写了一些代码,这些代码会延迟加载帮助数据,直到加载其余网页。帮助数据由一堆javascript文件组成,这些文件包含有关安装在系统上的帮助手册中存在的术语等信息。
网页运行正常,直到我开始将此帮助数据加载到隐藏的iframe中。在加载javascript文件时,我无法使用任何网页。需要下载小文件以悬停在效果上的链接不会显示,javascript(页面上的切换标签)无效。
我想知道这是否只是javascript工作方式的限制,或者是否还有其他问题。为帮助系统加载所有文件后,网页将按预期工作。
function test(){
var MGCFrame = eval("parent.parent");
if((ALLFRAMESLOADED == true)){
t2 = MGCFrame.setTimeout("this.IHHeader.frames[0].loadData()",1);
}
else{
t1 = MGCFrame.setTimeout("this.IHHeader.frames[0].test()",1000);
}
}
加载数据只是启动数据加载过程。
感谢您提供的任何帮助。
答案 0 :(得分:0)
我正在加载相当多的javascript文件---大约200左右。我通过组合一些文件来最小化延迟,并为其他文件使用jquery的getScript函数。为了帮助浏览器在加载所有这些文件时没有锁定,我填充了一个全局数组,其中包含需要下载的文件列表,然后递归调用一个等待100ms的辅助函数,然后调用getScript,然后调用自身。这有助于后台加载文件而不会使浏览器无法使用。