从子窗口向父窗口函数发送javascript函数调用。

从子窗口向父窗口函数发送javascript函数调用。,javascript,extjs,extjs3,Javascript,Extjs,Extjs3,我想从窗口B发出一个javascript调用,它是窗口a的子窗口。 假设我们有一个窗口a和一个窗口B,其中一个窗口的js是ajs.js,另一个窗口的js是bjs.js 窗口B在窗口A的容器内打开。 如何从bjs.js向ajs.js函数发送调用 Ext js 3.0/3.4 Windows 7您应该能够使用winodw B中的window.parent从bjs.js调用ajs.js中的函数。例如,如果您在ajs.js中有函数foo(),您可以使用window.parent.foo()从窗口B调用它

我想从窗口B发出一个javascript调用,它是窗口a的子窗口。 假设我们有一个窗口a和一个窗口B,其中一个窗口的js是ajs.js,另一个窗口的js是bjs.js 窗口B在窗口A的容器内打开。 如何从bjs.js向ajs.js函数发送调用

Ext js 3.0/3.4
Windows 7

您应该能够使用winodw B中的
window.parent
从bjs.js调用ajs.js中的函数。例如,如果您在ajs.js中有函数
foo()
,您可以使用
window.parent.foo()

从窗口B调用它。如果两个窗口在同一个域中,您可以在父窗口上声明一个方法foo(),把它叫来,和孩子在一起

在父项中:

window.foo = function() { alert('called!'); }
从子窗口:

window.parent.foo()

如果它们不在同一个域中,您将无法执行此操作。根据浏览器的版本,您可以使用window.postMessage方法在窗口之间传递信息。

在声明/定义“foo”时,应该仅使用“foo”而不是“window.foo”。我试着用window.foo做这件事,但不起作用……用simlpy“foo=function(){alert('called!');}”我得看看你的代码,找出为什么-window.foo和foo应该是一样的。全局范围中声明的Javascript“对象”附加到窗口对象。