2011-03-24 52 views
0

这个帖子是有关window.onload() is not firing with IE 8 in first shot工作。的JavaScript - IE8的window.onload()不在新打开的窗口中

从主网页(窗口)我打开一个新窗口内:

... window.open('foobar.php',<...>); ... 

被正确打开新的窗口,但是在window.onload()区间内的代码(位于“foobar.php” )不执行:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>foobar</title> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    window.onload = function() 
    { 
     alert('foobar'); 
    } 
    //]]> 
    </script> 
</head> 
<body> 
</body> 
</html> 

由原型的“document.observe(‘DOM:加载’,函数()”替换“的window.onload”,并在身体标记的“的onload”属性不如果我重新加载新打开的窗口的内容或再次打开它,那么代码工作正常。如果我运行主窗口内的代码,然后代码也正常工作。这似乎是一个缓存问题,但我不确定。

我的IE版本是8.0.6001.18702。我推迟了所有插件。

提前

+0

请张贴'window.open'的确切的代码。 – 2011-03-24 14:51:45

+0

对不起,有点不清楚。 window.open( 'foobar.php'); 以上代码位于“foobar.php”。 – Toru 2011-03-24 14:48:55

回答

1

因为脚本是在已经载入的页面非常感谢,onload事件发生很久以前。

有当窗口已加载,当DOM就绪之间的差异。