我试图覆盖JS警报,这样我就可以在每次警报之前和之后做一些事情。这就是我写的:
var old_alert = alert
var alerting = false
function alert(message) {
alerting = true;
console.info("alert override: alerting");
var result = old_alert(message);
alerting = false;
console.info("alert override: done alerting");
return result;
}
我面临的问题是old_alert以某种方式指向我的新函数,并且我从浏览器中收到无限递归错误。我做错了什么?