我的网站上有一些错误记录代码可以将Javascript错误保存到文件中,所以稍后我可以查看一些浏览器中的代码是否存在问题.
有时我得到一条错误消息,如消息:[object Event] url:undefined line:undefined所以我不知道错误在哪里.
当它是[对象事件]时,如何从消息中获取更多信息,以便我可以知道错误来自哪个文件和行号.
window.onerror = error;
function error(message, url, line) {
// sometimes message is [object Event]
}
Run Code Online (Sandbox Code Playgroud)
我认为这样的事情.
window.onerror = error;
function error(message, url, line) {
// sometimes message is [object Event]
if (typeof message === 'object') {
message = message
+ ' + '
+ message.url
+ ' + '
+ message.lineno;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试这个,但我得到Uncaught TypeError:Object#没有方法'serialize'
if (typeof message === 'object') {
message = JSON.serialize(message);
}
Run Code Online (Sandbox Code Playgroud)
使用JSON.stringify(message),我得到Uncaught TypeError:将循环结构转换为JSON
if (typeof message === 'object') {
message = JSON.stringify(message);
}
Run Code Online (Sandbox Code Playgroud)
如果你[someting Something]在 JS 中得到类似的东西,通常意味着它是一个对象。您可以执行console.log(message)并检查对象的内容。它看起来像
{
somethingHere : 'data',
anotherHere : 'more data'
}
Run Code Online (Sandbox Code Playgroud)
要访问它们,您可以使用点表示法:
theObject.somethingHere //data
Run Code Online (Sandbox Code Playgroud)
在你的情况下,就像这样,其中something是对象的键。
message.something
Run Code Online (Sandbox Code Playgroud)