Javascript 警报:如果消息包含特定单词则阻止?
Javascript alert: block if message contains certain word?
我有一个调用数据库的网络应用程序。每隔一段时间,我们就会收到一个 javascript 警告对话框,提示交易已陷入僵局。老实说,我们不在乎是否会发生这种情况,因为它不是交互式应用程序...它只是根据计时器显示数据,如果这次错过了,下次再显示也没关系。
我知道你可以像这样重写警报方法:
window.alert = function alert(msg) {
console.log('Hidden Alert ' + msg);
};
(在 Can I prevent an alert() with a Google Chrome Extension 找到)
我的问题是:有没有办法查看警报的消息.contains
一个特定的单词或短语,如果有则忽略警报呼叫但显示警报否则? 安装扩展程序来处理这个问题确实不是一种选择。
澄清:
我知道如何捕捉它是否存在,但是如果我写完了警报代码,我应该编写什么代码来继续并像往常一样显示警报?
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');
这是我的方法。
window.oldAlert = window.alert;
window.alert = function alert(msg) {
if (not msg contains ...)
window.oldAlert(msg);
};
您需要捕获原始的 alert() 函数,以便在需要时调用它:
var origalert = window.alert;
window.alert = function(msg) {
if (msg.IndexOf('whatever') >= 0) {
origalert(msg);
} else {
... whatever ...
}
}
我有一个调用数据库的网络应用程序。每隔一段时间,我们就会收到一个 javascript 警告对话框,提示交易已陷入僵局。老实说,我们不在乎是否会发生这种情况,因为它不是交互式应用程序...它只是根据计时器显示数据,如果这次错过了,下次再显示也没关系。
我知道你可以像这样重写警报方法:
window.alert = function alert(msg) {
console.log('Hidden Alert ' + msg);
};
(在 Can I prevent an alert() with a Google Chrome Extension 找到)
我的问题是:有没有办法查看警报的消息.contains
一个特定的单词或短语,如果有则忽略警报呼叫但显示警报否则? 安装扩展程序来处理这个问题确实不是一种选择。
澄清:
我知道如何捕捉它是否存在,但是如果我写完了警报代码,我应该编写什么代码来继续并像往常一样显示警报?
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');
这是我的方法。
window.oldAlert = window.alert;
window.alert = function alert(msg) {
if (not msg contains ...)
window.oldAlert(msg);
};
您需要捕获原始的 alert() 函数,以便在需要时调用它:
var origalert = window.alert;
window.alert = function(msg) {
if (msg.IndexOf('whatever') >= 0) {
origalert(msg);
} else {
... whatever ...
}
}