1

オフライン chrome アプリの開発方法を学んでいます。

main.html、main.css、main.js の 3 つのコンポーネントがあります。

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()の呼び出しでnull参照が生成されるため、HTML ドキュメントには何も読み込まれません。

これは明らかにセキュリティに関連しているように見えますが、どこが間違っているのかわかりません。

4

0 に答える 0