Javascript alert:阻止邮件是否包含某些单词?

时间:2015-01-26 16:21:33

标签: javascript alert

我有一个调用数据库的webapp。每隔一段时间,我们会得到一个javascript警告对话框,说明事务处于死锁状态。老实说,我们不关心是否发生这种情况,因为它不是一个交互式应用程序...它只是根据计时器显示数据,如果这次错过它,可以在下次显示它。

我知道你可以像这样编写警报方法:

window.alert = function alert(msg) {
  console.log('Hidden Alert ' + msg);
};

(见Can I prevent an alert() with a Google Chrome Extension

我的问题是:有没有办法查看警告.contains的特定字词或短语的消息,如果有,则忽略警报呼叫,否则显示警告?安装扩展来处理这个问题真的不是一个选择。

澄清:

我知道怎么抓住它,如果它有或没有,但我会编写什么代码,如果我正在编写警报代码,继续显示警报?

3 个答案:

答案 0 :(得分:3)

window.oldAlert = window.alert;
window.alert = function alert(msg) {
  if (not msg contains ...)
    window.oldAlert(msg);
};

答案 1 :(得分:2)

window.default = window.alert;
window.alert = function alert(msg) {
  var word = 'foo';
    if (msg.indexOf(word) != -1){
        console.log('contains');
        // do what you wanna do if contains
    }else{
       window.default(msg);
    }
};

alert('foo');
alert('bar');

http://jsfiddle.net/pnkcpvLj/

这是我的方法。

答案 2 :(得分:1)

您需要捕获原始alert()函数,以便在需要时调用它:

var origalert = window.alert;
window.alert = function(msg) {
   if (msg.IndexOf('whatever') >= 0) {
      origalert(msg);
   } else {
      ... whatever ...
   }
}