Подтвердить что ты не робот

Отменить предупреждение и подтвердить в Javascript

Есть ли способ переопределить alert("") и confirm("") в javascript?

Я использую jQuery, поэтому, если есть способ сделать это в этой области, я был бы признателен.

Я хотел бы делать такие вещи, как:

override alert(msg){
    //Show custom stuff here
}

override confirm(msg){
    //Show custom stuff here.
    return watever;
}
4b9b3361

Ответ 1

Да и нет. Вы можете просто заменить их:

window.alert = function(msg){
    // stuff
}

но вы не получите функциональность блокировки, которую предупреждают и подтверждают, давайте вам, то есть не будет никакого способа заставить этот код работать:

if(confirm('Do Something?')){
   // do stuff
}

Вам обычно лучше делать другие функции, чтобы делать подобные вещи, чем вы пытаетесь их заменить.

Ответ 2

Просто переопределите его:

window.alert = function(msg) { console.log(msg); }

Ответ 3

Просто определите функцию с именем alert или confirm.

function alert(){}; function confirm(){};

Однако, если вам нужна ссылка на исходные функции, вы должны сохранить ссылки на них, назначив var oldAlert или просто определите alert внутри другой функции, поэтому window.alert остается нетронутым.

(function() {
  function alert(){}; // alert inside of this scope is your custom function
})();