2013-01-16 41 views
0

我有一個iframe設置爲同一站點上的src。在iframe頁面裏面,我有一個名爲機架包含一個名爲app模塊命名空間...訪問在iframe src中定義的全局JavaScript對象

Rack.app = function() {...}(); 

我可以訪問Rack.app對象從我的外部頁面 - 包含的iframe的頁面?我想要做類似

var iframe = document.getElementById('rackFrame'); 
iframe.contentWindow.Rack.app.doSomething(); 

但是,這不起作用,我沒有看到Rack對象。

回答

0

你可以通過在調用命名空間的命名空間之外調用iframe中的函數來破解它嗎?

var iframe = document.getElementById('rackFrame');
iframe.contentWindow.rackTrigger();

在iframe

然後有一個函數:

功能rackTrigger(){
Rack.app.doSomething();
}

,如果有你正在尋找觸發一個單一的功能,如果有一些變化,你會想使在IFRAME不是最完美的解決方案,但乾淨。

+0

乾杯,但由於某種原因,我的父頁面無法看到iframe.contentWindow.rackTrigger(一旦我添加它當然) –