2012-04-22 2 views
2

Что я хочу сделать, это изменить каждое предупреждение в коде на пользовательское предупреждение («вы использовали оповещение»);Есть ли способ клонировать собственные функции в javascript, например window.alert или document.write

var hardCodedAlert = alert; //I know this won't work.But what to do ? 
window.alert=function(){ 
if(this.count == undefined) 
this.count=0; 
this.count=this.count+1; 
if(this.count == 1) 
hardCodedAlert("You used alert"); 
}; 
+0

Попробуйте запустить свой код. Вы будете удивлены ...)) – georg

+3

[Здесь] (http://jsfiddle.net/robertc/RM2XR/), почему вы «знаете, что это не сработает»? – robertc

+1

window.alert() и document.wite() не являются родными - они являются расширениями браузера к стандарту ECMA –

ответ

1

Да, вы можете сделать (например):

var oldalert = window.alert; 
window.alert= function alert(t){ 
    alert.count = !alert.count ? 1 : alert.count + 1; 
    oldalert(t+' - That\'s alert nr '+alert.count); 
}; 

См this jsfiddle