我在页面上有一个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对象?
答案 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等)。