2012-01-18 4 views
4

Допустим, у нас есть предупреждающий метод объекта window. Я хотел бы улучшить его с помощью nice alertbox.как перезаписать встроенный метод собственных объектов javascript

Также я хочу сохранить существующий метод оповещения, чтобы мы могли вернуться после завершения нашего приложения.

Что-то вроде этого, но его ошибка бросания в консоли firefox.

window.prototype.alert = function(){ 

} 

ответ

3

Вы можете:

var base = window.alert; 
window.alert = function(message) { 
    document.getElementById("myalertwidget").innerHTML = message; 
    return base.apply(this, arguments); 
}; 
+0

'base.apply (это, аргументы)' просто правильно называет * оригинал * 'предупреждение()', если вы хотите Сделай так –

5

Нет window.prototype объект. window - глобальный объект контекста javascript, и он не создан из прототипа.

Однако то, что вы хотите сделать, это достижимо с помощью следующего кода:

window.old_alert = window.alert; 
window.alert = function(txt) { 
     // do what you need 
     this.old_alert(txt); 
} 
Смежные вопросы