访问IE8中的iframe Object.prototype

时间:2015-07-21 18:40:02

标签: javascript iframe internet-explorer-8

我在页面上有一个Iframe元素,我需要在iframe中创建一些原型方法。

我有iframe窗口

var win = iframe.contentWindow || iframe.contentDocument.defaultView;

然后尝试创建方法。在FF,Chrome和IE9 +中它很简单:

win.Object.prototype.func = myFunc;

但它在IE8中不起作用。我在win.Object中得到了未定义。 同时 win.Element 完美无缺。

如何在IE8中获取iframe对象?

2 个答案:

答案 0 :(得分:1)

您可以在script中插入iframe元素,该元素在外部窗口中创建一个指向内部Object的全局变量:

var doc = iframe.contentDocument,
    s = doc.createElement('script');
s.text = "parent.Object2 = Object;";
doc.appendChild(s);
doc.removeChild(s);

然后,您可以使用Object2.prototype

答案 1 :(得分:0)

嗯,这很容易。 足以在iframe中创建空脚本 - 并且IE中可以使用对象(如win.Object,win.Element等)。