JS Proxy Pattern - PullRequest
       23

JS Proxy Pattern

2 голосов
/ 17 июня 2010

Я использую этот код для переопределения функции 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);
  };
})();

Пожалуйста, помогите мне найти решение! Спасибо

Ответы [ 2 ]

2 голосов
/ 17 июня 2010

Я бы сделал это, если window.alert не является "реальной" функцией в IE:

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

Извините, не проверено, работает ли оно?

0 голосов
/ 17 июня 2010

Это было бы хорошо для нативных функций JavaScript, но очень опасно для методов хост-объектов, таких как window.На хост-объекты не распространяются обычные правила нативных объектов JavaScript, и они могут (и могут) вести себя в основном так, как им нравится, часто по-разному в разных браузерах.Поэтому я настоятельно рекомендую не придерживаться этой идеи для window.alert или любых других методов хоста.

...