我正在将运行良好的基于标准浏览器的应用程序转换为 chrome 应用程序。
页面加载后,它已经遇到错误 - Uncaught TypeError: Cannot call method 'appendChild' of null。这发生在几百行 JS 完成它们的工作之后,但这是代码第一次引用文档对象,特别是 document.getElementById('mainDiv').appendChild(...)。
我可以在调试器元素选项卡中清楚地看到 id="mainDiv" 的 div。然而, document.getElementById('mainDiv') 必须返回 null。任何设置断点的尝试都会失败,因为它们会被忽略。我已经将它们添加到失败的行以及导致它的行中,并且断点永远不会触发。我已经阅读了 SO 上的一些线程,并且我确定断点问题只是调试器中的一个错误,但是当我可以清楚地看到它并且在浏览器中运行时代码工作正常时无法识别 id 让我想知道这是怎么回事。浏览器中的文档与应用程序版本中的文档不同吗?
有任何想法吗?
如果我选择“检查背景页面”,断点工作,但它仍然失败,但以不同的方式。元素选项卡不显示我的 html 页面,但伪生成的背景之一,我无法让调试器显示我的页面。
任何启示将不胜感激。我已经搜索并阅读了我能找到的内容,但很多文档显然已经过时了。