我解决了我遇到的一个问题,意识到如果你在某个上下文中定义一个 javascript 函数,你就不能调用它来在不同的上下文中运行。现在,我一直在探索实现这一目标的方法。
我的目标是:我有三个窗口:第一个是主窗口,我的函数是在其中创建的。第二个是使用window.open
. 第二个窗口有一个按钮可以打开第三个也是最后一个窗口,打开后,第三个窗口应该运行与第一个窗口中定义的相同的功能。
我试图在主函数中引用第三个窗口,如下所示:
(假设我的window.open
变量的名称是w
)
var w;
function main() {
console.log(w);
...rest of the code....
}
所以我希望它能给 main 函数一个提示,W 的存在,我稍后会打开的窗口。
然后,从第二个窗口中,我将创建一个按钮并制作一个onclick
:
w.main;
这是行不通的...
是否有不同的方法(或更改此方法的方法)来使函数意识到创建它的不同上下文的存在,因此当未来时刻到来时,能够在其中运行吗?
我现在正在阅读关于适应call()
我的目的。这有意义吗,或者你会建议一种不同的方式?