microsoft-metro – 在Windows Metro应用程序中修改DOM时的HierarchyRequestError

我正在使用 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);
}

为什么会因为这样的错误而失败?

当您尝试将未定义或其他一些无效值插入DOM时,会引发HierarchyRequestError.

在问题中的函数中,hnode可能是未定义的,例如因为insertData()是在没有参数的情况下调用的.

要调试这样的情况并找出对insertData()的调用是什么问题,可以使用Visual Studio中的条件断点.如果设置断点,请右键单击它并选择“条件…”.像hnode === undefined这样的条件可以用来打破有趣的案例.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...