1

原谅我,我是新手。

我有一组 .html 文件,根据选择的文件,我将其加载到页面上的 div 中,有点像 iframe。我可以让这一切正常工作,但我的问题是窗口加载事件。我可以让 onload 在主页上工作,但是加载到主页上的 div 中的页面上包含的 onload 事件不起作用,无论我将它写入 .html 文件还是从外部文件调用它。$(document).ready 有效,但我试图确保在其他所有内容之后加载 javascript。

基本上我不知道如何让窗口加载在加载到 div 中的页面上工作。

任何帮助将不胜感激。

编辑:这会将外部页面之一加载到主页面中:

$('div#socket').load('pages/' + thisTab + '.html');

其中 thisTab 是其中一个文件的名称,也是所选选项卡的名称。

类似这样的内容将位于已加载页面之一的底部:

<script type="text/javascript">
$(document).ready(function(){
alert('1');
});

$(window).load(function(){
alert('2');
});
$(window).bind("load", function() {
   alert('3');
});
</script>

我只会收到“1”的警报。

4

2 回答 2

1

如果我理解正确,您正在寻找一个选项来在将某些内容加载到主页(使用 ajax)后执行某些操作。你可以使用ajax加载方法的回调函数。

$("#DivInsideMainPage").load("remotepage.html",function(){
   alert("This will execute only after loading the partial content") 
   //Execute the fancy code you want here    
});
于 2012-12-10T02:51:55.537 回答
0

在加载的页面演示中包含脚本的方法:

在加载的页面中:

<script id="loader_script" type="text/javascript">
$(document).ready(function(){
  alert('1');
});

$('loader_script').one('my_load',function(){
  alert('2');
});
</script>

在主脚本中:

var innerpage=$('div#socket');
innerpage.load('pages/' + thisTab + '.html',function(){
     innerpage.find('#loader_script').trigger('my_load');
});
于 2012-12-10T03:02:56.793 回答