我正在使用http://alexgorbatchev.com/SyntaxHighlighter/突出显示我网站上的代码,但有时在我的日志中我会收到如下Javascript错误:
Uncaught NotFoundError:无法在'Node'上执行'removeChild':要删除的节点不再是此节点的子节点.也许它被移动到'模糊'事件处理程序中?
Uncaught NotFoundError:尝试在不存在的上下文中引用节点.
// set up handler for lost focus
attachEvent(textarea, 'blur', function(e)
{
textarea.parentNode.removeChild(textarea);
removeClass(highlighterDiv, 'source');
});
Run Code Online (Sandbox Code Playgroud)
这是attachEvent()函数代码:
function attachEvent(obj, type, func, scope)
{
function handler(e)
{
e = e || window.event;
if (!e.target)
{
e.target = e.srcElement;
e.preventDefault = function()
{
this.returnValue = false;
};
}
func.call(scope || window, e);
};
if (obj.attachEvent)
{
obj.attachEvent('on' + type, handler);
}
else
{
obj.addEventListener(type, handler, false);
}
};
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙解决这个问题吗?
我的网站上有一些错误记录代码可以将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 …Run Code Online (Sandbox Code Playgroud) javascript ×2