在我的网页中,我得到一个“警告”,我想知道是什么导致它触发并出现在页面中。是否可以使用chrome开发工具来查找它?
答案 0 :(得分:2)
您可以将自己的某些功能绑定到window.alert;
alert = function myCustomAlert(){ console.log("caller", myCustomAlert.caller); }
您可以将其放在开发人员工具控制台并检查调用者。
您可以使用以下其他技术执行此操作:
alert = function myCustomAlert(){ console.log("caller", arguments.callee.caller.name); }
唯一的问题是它必须在非严格范围内运行。
答案 1 :(得分:1)
是进入获取此警报的页面并打开开发人员工具并进入“元素”标签并搜索文本“警报”
(Windows中的CTRL + F或Mac中的CMD + F)
。你应该找到触发警报实际代码的代码行应该是window.alert("message which you are seeing on screen");
或替代方式是右键单击页面并执行
“查看页面来源”
并搜索相同的文字“警告”,你应该得到代码行。
答案 2 :(得分:0)
尝试将新功能分配给window.alert
属性并使用console.trace()
打印堆栈跟踪:
window.alert = (function( window ) {
var oldAlert = window.alert;
return function alert( message ) {
console.trace();
oldAlert( message );
};
})( window );
堆栈跟踪优于调用者名称,因为它在严格模式下工作,并提供更多信息。但是,如果alert
,setTimeout
或setInterval
调用// In this case stack trace consists of single alert call.
setTimeout(alert, 0, "foo");
或作为事件处理程序,则此代码段将无效:
setTimeout
因此,如果此解决方案对您没有帮助,您可能需要以类似的方式替换其他函数(setInterval
,addEventListener
,priority
)。有关详细信息,请查看Long stacktraces project。