如何在IE9中扩展文档对象的原型?

时间:2015-10-20 20:14:24

标签: javascript internet-explorer

我想覆盖原生的document.write函数,所以我这样做:

HTMLDocument.prototype.write = function(arg) {
    alert('Do Something!');
};

这适用于IE9以外的每个浏览器,它会抛出以下错误:

'HTMLDocument' is undefined

它甚至适用于IE 8.如何在IE9中扩展文档对象?

1 个答案:

答案 0 :(得分:0)

显然,在IE 9即将发布之前的某个地方HTMLDocument被替换为Document,在IE 10中也是如此。但是,在IE 11中,两个对象都返回并且返回 true

Document.prototype.write === HTMLDocument.prototype.write

即使Document和HTMLDocument引用了不同的对象。因此,为了做你想要的IE 9和IE 10(我没有检查IE 8的行为),你可以做类似的事情:

Document.prototype.write = function(arg) {
    alert('Do Something!');
};