在不使用jQuery / Ajax的情况下将javascript加载到iframe中?

时间:2010-06-11 18:28:55

标签: javascript

我正在开发一个离线专用帮助系统,该系统需要在使用搜索功能之前将大量与搜索相关的数据加载到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);
  }
  }

加载数据只是启动数据加载过程。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

我正在加载相当多的javascript文件---大约200左右。我通过组合一些文件来最小化延迟,并为其他文件使用jquery的getScript函数。为了帮助浏览器在加载所有这些文件时没有锁定,我填充了一个全局数组,其中包含需要下载的文件列表,然后递归调用一个等待100ms的辅助函数,然后调用getScript,然后调用自身。这有助于后台加载文件而不会使浏览器无法使用。