2

我使用此代码来覆盖 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);
  };
})();

请帮我找到解决方案!谢谢

4

2 回答 2

2

I would do this, in case window.alert is not a "real" function in IE:

(function() {
  var proxied = window.alert;
  window.alert = function(txt) {
    txt = txt.replace(/<br>/g, "\r\n");
    return proxied(txt);
 };
})();

Sorry, untested, Does it work?

于 2010-06-17T09:39:57.927 回答
0

这对于原生 JavaScript 函数来说很好,但对于宿主对象的方法(例如window. 宿主对象不受原生 JavaScript 对象的常规规则的约束,并且可以(并且确实)在很大程度上随心所欲地表现,在不同的浏览器中通常会有所不同。因此,我强烈建议不要将这个想法用于window.alert任何其他主机方法。

于 2010-06-17T10:26:55.993 回答