我使用此代码覆盖window.alert函数。 该函数用\ r \ n替换中断。 它在Firefox中运行良好,但不是在IE中。 我得到错误:不支持属性或方法。
(function() {
var proxied = window.alert;
window.alert = function(txt) {
txt = txt.replace(/<br>/g, "\r\n");
return proxied.apply(this, arguments);
};
})();
请帮我找到解决方案! 谢谢
答案 0 :(得分:2)
我会这样做,以防windows.alert不是IE中的“真实”功能:
(function() {
var proxied = window.alert;
window.alert = function(txt) {
txt = txt.replace(/<br>/g, "\r\n");
return proxied(txt);
};
})();
抱歉,未经测试,是否有效?
答案 1 :(得分:0)
这适用于本机JavaScript函数,但对于window
等宿主对象的方法非常危险。主机对象不受本机JavaScript对象的正常规则的约束,并且可以(并且确实)在很大程度上按照它们的喜好运行,在不同的浏览器中通常是不同的。因此,我强烈建议不要对window.alert
或任何其他主机方法采用这个想法。