如何从 window2 打开的页面调用 window2 中的函数?

问题描述 投票:0回答:1

我尝试使用 window.open 代码打开一个窗口,

var myWindow = window.open(url , name, details);

然后我想在加载后在该窗口中执行一个函数。

var myWindow = window.open(url , name, details);
myWindow.doSomething();

想法是通过基于 HTML 的按钮触发它们。

我刚刚用不同的方式重写了它,到目前为止似乎没有任何效果。任何意见将不胜感激。

javascript html function button window
1个回答
0
投票

在您的情况下,这是因为浏览器的同源策略的限制, 试图通过窗口 A 中的脚本来操作窗口 A 创建的窗口 B 中的方法是不现实的。

所以.doSomething()必须定义在正在打开的窗口的上下文中,可以使用postMessageAPI,窗口A可以向窗口B发送消息,窗口B通过监听消息事件接收这些消息并执行相应的操作根据消息内容。

© www.soinside.com 2019 - 2024. All rights reserved.