2010-12-08 5 views
27

Код, созданный на моей странице, который я не могу контролировать, содержит предупреждение. Есть ли jQuery или другой способ отключить alert() от работы?Disable alert();

Javascript, который генерируется, что я хочу, чтобы отключить/изменить это:

function fndropdownurl(val) 
1317 { var target_url 
1318 target_url = document.getElementById(val).value; 
1319 if (target_url == 0) 
1320 { 
1321 alert("Please Select from DropDown") 
1322 } 
1323 else 
1324 { 
1325 window.open(target_url); 
1326 return; 
1327 } 
1328 } 

Я хочу, чтобы отключить предупреждение на линии 1321

Благодаря

+0

См [JavaScript: Перекрытие предупреждение()] (http://stackoverflow.com/questions/1729501/javascript-overriding-alert) – 2010-12-08 14:01:13

ответ

71

Просто перезапишите alert с вашим собственным, пустым, функцией.

window.alert = function() {}; 

// or simply 
alert = function() {}; 
+2

Вторая версия не будет работать в IE. Придерживайтесь первого. – 2010-12-08 14:01:13

+1

Первый работает кросс-браузеры, спасибо! – specked 2010-12-08 14:07:15

6

Попробуйте это:

alert("test"); 
alert = function(){}; 
alert("test"); 

Вторая строка назначает новую пустую функцию для предупреждения, не нарушая факт, что это функция. См.: http://jsfiddle.net/9MHzL/

+0

Не работает в IE. – 2010-12-10 01:09:54

8

Вы можете попробовать и сделать новую функцию function alert() { }, это не будет ничего делать, поскольку пусто и перезапишет существующий.

+1

Не работает в IE. – 2010-12-10 01:11:16

12

Это работает в Chrome и других браузерах с функцией console.log.

window.alert = function (text) { console.log('tried to alert: ' + text); return true; }; 
alert(new Date()); 
// tried to alert: Wed Dec 08 2010 14:58:28 GMT+0100 (W. Europe Standard Time)