如何挂钩浏览器发布的控制台错误和警告。由于内部浏览器错误。 我的意思是如何挂钩错误安全违规日志
******* ...... it violates the following Content Security Policy directive: "frame-src 'self' *.wholefoodsmarket.com https://*.google.com *.acquia-sites.com".
所以我想在一个var。
中获取控制台中存在的所有错误消息我试图覆盖默认的控制台功能,但仍然无法挂钩 进入这些类型的日志。
我的代码现在
var consoleLogFn = console.log;
var consoleWarnFn = console.warn;
var consoleErrorFn = console.error;
window.jsErrors = window.jsErrors || [];
console.log = function(){
consoleLogFn.apply(console, arguments);
var args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length;i++){
pushLog('log', args[i]);
}
}
console.warn = function(){
consoleWarnFn.apply(console, arguments);
var args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length;i++){
pushLog('warn', args[i]);
}
}
console.error = function(){
consoleErrorFn.apply(console, arguments);
var args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length;i++){
pushLog('error', args[i]);
}
}
console.debug = function(){
consoleErrorFn.apply(console, arguments);
var args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length;i++){
pushLog('debug', args[i]);
}
}
var pushLog = function(type, msg){
window.jsErrors.push({
'type': type,
'message': msg,
});
}