我正在使用Javascript和HTML构建Windows Metro应用程序,它与HierarchyRequestError
崩溃:
Exception was thrown but not handled in user code at line 11, column 9 in ms-appx://21706d2f-b81e-47ef-9ebb-37de36c7a258/js/default.js
0x800a139e - JavaScript runtime error: HierarchyRequestError
在抛出错误的行我正在做一些简单的DOM操作并尝试将我创建的节点插入到文档中:
function insertData(hnode) {
document.querySelector('#datanode').appendChild(hnode);
}
为什么会因为这样的错误而失败?
答案 0 :(得分:11)
当您尝试将HierarchyRequestError
或其他一些无效值插入DOM时,会引发undefined
。
在问题中的函数中,hnode
可能是undefined
,例如因为没有参数调用了insertData()
。
要调试这样的情况并找出对insertData()
的调用是什么问题,可以使用Visual Studio中的条件断点。如果设置断点,请右键单击它并选择“Condition ...”。像hnode === undefined
这样的条件可以用来打破有趣的案例。