我想從窗口B發出一個javascript調用,窗口B是窗口A的子窗口。 可以說我們有一個窗口A,其中的js同樣是ajs.js,而窗口B的js是bjs。 js 窗口B在窗口A的容器內打開。 如何從bjs.js發送調用到ajs.js函數?從子窗口向父窗口函數發送一個JavaScript函數調用。
的Ext JS 3.0/3.4 Windows 7的
我想從窗口B發出一個javascript調用,窗口B是窗口A的子窗口。 可以說我們有一個窗口A,其中的js同樣是ajs.js,而窗口B的js是bjs。 js 窗口B在窗口A的容器內打開。 如何從bjs.js發送調用到ajs.js函數?從子窗口向父窗口函數發送一個JavaScript函數調用。
的Ext JS 3.0/3.4 Windows 7的
如果這兩個窗口在同一個領域,你可以聲明一個方法foo()窗口B關於你的父母調用它,並與
調用它的孩子在父母:
window.foo = function() { alert('called!'); }
從子窗口:
window.parent.foo()
如果它們不在同一個域中,你將無法做到這一點。根據您的瀏覽器版本,您可以使用window.postMessage方法在窗口之間傳遞信息。
您應該能夠從winodw B.使用window.parent
例如,如果你有ajs.js功能foo()
bjs.js調用ajs.js的功能,您可以使用window.parent.foo()
當聲明/定義「foo」時,應該只是「foo」而不是「window.foo」。我試圖用window.foo做沒有工作....與simlpy「foo = function(){alert('called!');}」 – Ashwin
我得看你的代碼找出原因 - 窗口。 foo和foo應該是一樣的。在全局範圍內聲明的Javascript「對象」被附加到窗口對象。 –