2010-12-08 50 views
27

在我的頁面上生成的我無法控制的代碼包含警報。有沒有jQuery或其他方式來禁用alert()工作?禁用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)