在新创建的窗口上设置onload(),可能吗

Set onload() on a newly created window, possible?

本文关键字:onload 设置 窗口 新创建 创建      更新时间:2023-09-26

我正在创建一个Safari扩展。有一次,我想打开一个新的选项卡/窗口,并在该新选项卡的一些文本字段中输入文本

这就是我尝试过的。

    var newWindow = window.open('http://openradar.appspot.com/myradars/add', "new tab");
    var fillContent = function () {
      //Fill some content
      //This never get called
    };
    newWindow.onload = fillContent;

问题是函数永远不会被调用。

在调试过程中,我看到newWindow是有效的,但在newWindow.onload = fillContent; 之前和之后,newWindow.onload总是未定义

有可能做我想做的事吗?有更好的方法吗?

如果您试图打开的页面在另一个域中,这是不可能的,因为您违反了javascript的同源策略(该策略规定您只能"控制"运行脚本的同一域中的页面(。