1

我正在学习如何开发离线 chrome 应用程序。

我有三个组件:main.html、main.css、main.js

Main.js 使用此标记加载到 main.html /html/head/script 中:

<script type="text/javascript" src="main.js"></script>

初始动作由 body 标签中的 onLoad 事件触发:

<body onLoad="initOnLoad(); ">

函数 initOnLoad() 操作通过其 HTML id 找到的一些元素:

...
1:  function initOnLoad() {
2:     alert("initOnLoad started");
3:     initWaveArray();
4:     addWaveButtons(document.getElementById("wave_selector"));
5:     addBandButtons(document.getElementById("band_selector"));
6:     e = document.getElementById("wave_HF");
7:     activeWaveDiv = e;
8:     setActiveWave();
9:     initDateTime();
10: }

第 4 行和第 5 行中的调用将一些元素填充到 main.html 中。

现在,当我在开发过程中在 Chrome 中加载此页面时,一切都按预期工作。但是当我将我的项目加载为 Chrome 应用程序时,我在manifest.json中有这些属性:

"app": {"launch": {"local_path": "main.html"}},
"web_accessible_resources": [
  "main.js", "main.css", "main.html"]
...

当我启动应用程序时,它会加载页面,并启动initOnLoad()函数,但在第 4 行和第 5 行中对document.getElementById()的调用会产生引用,因此 HTML 文档中没有加载任何内容。

虽然这显然似乎与安全有关,但我找不到我的错误在哪里。

4

0 回答 0