在其他浏览器中是否有类似Firefox的"错误控制台"?我发现错误控制台很容易找到JavaScript错误,但似乎没有一种等效的简单方法可以在其他浏览器上查看错误消息.我对Internet Explorer,Opera和Google Chrome感兴趣.
发布脚本:我不是在寻找Firefox错误控制台的替代方案,对我来说没问题.我不需要FireBug.此外,我知道谷歌浏览器中的开发者工具,但我无法理解它.我只是想得到错误信息.有没有办法从中得到理智的错误信息?我无法做到.我的默认浏览器是Windows和Linux上的Chrome,但如果我在JavaScript中执行某些操作,我最终不得不切换到Firefox以从错误控制台获取错误消息.
我知道之前可能已经问到这个问题,但我找不到:
我知道你可以使用扩展来检测JS错误,但有没有办法使用JavaScript检测所有错误并在有错误时显示警告?
我目前正在开发一个Web应用程序,我有一个JS日志记录机制,处理未被页面内的js代码捕获的Javascript错误.我使用window.onerror来捕获所有这些错误并将其他地方记录在哪里.
但问题是Opera没有window.onerror事件.我能想到的一种方法是,对所有js函数进行字符串处理,然后在body加载后在这些函数中插入try catch块.但它在许多情况下不起作用,但是,它至少在某种程度上起作用.
我确信这种方法很糟糕,但是,我想不出更好的方法.请指教.
更新:现在,我正在调用下面的代码尽可能多地捕获错误.
function OnBodyLoad()
{
var allElements = document.getElementsByTagName("*");
for(var cnt = 0;cnt < allElements.length;cnt++)
{
RegisterAllEvents(allElements[cnt]);
}
}
function RegisterAllEvents(objToProcess){
for(var cnt = 0;cnt < objToProcess.attributes.length;cnt++){
if(IsAttributeAnEvent(objToProcess.attributes[cnt].name))
{
objToProcess.attributes[cnt].value = 'try{'+objToProcess.attributes[cnt].value+'}catch(err){LogError("'+ objToProcess.id+'"'+ ',err);}';
}
}
}
Run Code Online (Sandbox Code Playgroud)