如何将onload事件添加到窗口

时间:2013-01-26 12:47:41

标签: javascript jquery html css

我的代码是,

<html>
    <head>
       <title>onclick test</title>
       <script type="text/javascript">
           var googleWindow = window.open('http://www.google.com');
           window.onload = change;
           function change(){
            alert('Hello');
           }
        </script>
</html>

上面的代码工作正常。它在窗口加载时调用更改功能。我正在尝试将onload事件添加到googleWindow但它无效。

<html>
    <head>
       <title>onclick test</title>
       <script type="text/javascript">
           var googleWindow = window.open('http://www.google.com');
           googleWindow.onload = change;
           function change(){
            alert("Hello');
           }
        </script>
</html>

如何向googleWindow添加活动?

谢谢,

2 个答案:

答案 0 :(得分:8)

您无法将事件添加到其他域中的窗口。

答案 1 :(得分:1)

onload事件只触发在该窗口中加载的函数,因此你无法真正做到这一点。但是,如果您可以控制正在打开的新窗口的内容(即,如果您打开一个显示您自己的某些内容的窗口),那么您可以在该窗口中打开的页面中放置一个onload处理程序,然后被调用的函数可以通过'window.opener'与开启窗口交互,例如如果您有两个文件'1.html'和'2.html',那么您可以:

1.HTML

<a href="#" onClick="window.open('2.html')">Open '2.html'</a>

2.HTML

<head><script>
window.opener.alert("this alert is displayed by the '1.html' window");
</script></head>

在上面,单击第一个窗口中的链接后,第二个窗口将打开(可能在浏览器的新选项卡中),并在打开后立即显示第一个窗口中显示的警报(即第一个标签)

PS
哦,正如Rory在他的回答中指出的那样,你必须绝对拥有相同域名的文件