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

发布于 2024-11-18 01:55:10 字数 531 浏览 2 评论 0原文

我正在创建一个 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.onloadnewWindow.onload = fillContent 之前和之后始终未定义 ;

可以做我想做的事情吗?有更好的办法吗?

I'm creating a Safari Extension. At one point, I want to open a new tab/window and enter text on some text fields in that new tab.

This is what I tried.

    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;

The problem is that the function never get called.

During debugging, I saw that newWindow is valid but that newWindow.onload is always undefined, before and after newWindow.onload = fillContent;

Is it possible to do what I'm trying to do? Is there a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝天 2024-11-25 01:55:10

如果您尝试打开的页面位于另一个域中,则这是不可能的,因为您违反了 javascript 的同源策略(该策略规定您只能“控制”与脚本运行所在的同一域中的页面)。

If the page you are trying to open is in another domain, it's impossible, because you were violating javascript's same origin policy (which states that you can only 'control' pages that are on the same domain where the script is running).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文