访问iframe src中定义的全局javascript对象

时间:2013-01-16 16:17:25

标签: javascript iframe

我将iframe设置为同一站点上的src。在iframe页面中,我有一个名为Rack的命名空间,其中包含一个名为app ...

的模块
Rack.app = function() {...}();

我可以从外部页面 - 包含iframe的页面访问该Rack.app对象吗?我想做像

这样的事情
var iframe = document.getElementById('rackFrame');
iframe.contentWindow.Rack.app.doSomething();

但这不起作用,我没有看到Rack对象。

1 个答案:

答案 0 :(得分:0)

你可以通过在调用命名空间的命名空间外调用iframe中的函数来破解它吗?

  

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

然后在iframe中有一个函数:

  

function rackTrigger(){
  Rack.app.doSomething();
  }

如果您希望触发一个功能,那么这不是最优雅的解决方案,但如果您想对iframe进行多项更改,则不是更清晰。