在页面开始加载之前将方法添加到javascript Window对象

时间:2013-04-02 15:34:59

标签: javascript

是否可以在请求的页面开始加载之前向动态创建的iframe的Window对象添加方法?我期望通过iframe.contentWindow.myMethod = function() { }执行此操作,但是在页面加载之前iframe.contentWindow为NULL。

我可以在onload事件触发时添加方法,但是有些页面会对我正在添加的方法进行内联调用。当浏览器在收到“方法不存在”时执行代码时,会出现错误。

我希望在下载和处理内容之前,我可以在创建窗口对象后立即访问该对象吗?

2 个答案:

答案 0 :(得分:3)

  

我希望在下载和处理内容之前,我可以在创建窗口对象后立即访问该对象吗?

我非常怀疑有。也许您可以修改正在加载的页面,以便他们在父窗口中调用该方法,您知道已经定义了该方法。例如,而不是他们这样做:

someMethod("some arg");

他们会做

parent.someMethod("some arg");

...其中someMethod是开场窗口内的全局函数。

Live Example | Source | Source of iframe

答案 1 :(得分:-2)

您无法在启动加载之前修改页面 - 没有任何内容可以修改。您可以在加载时对其进行修改 - 使用<script>顶部直接执行的<head>标记,而不是等到onload。不过,这是关于你能做到的最快的事情。