HTML/JS を使用して Windows 8 の開発を始めたばかりです。ここ数か月は、自動車のヘッド ユニットやテレビを対象とするアプリの jQuery 開発に没頭してきました。
これに飛び込んで、移行は簡単だと思いました。私は自分のサイトのデザインと構造の大部分を把握しており、以前の仕事で使用していたプラクティスのいくつかに従うことを望んでいました.
つまり、基本的に単一ページのアプリを作成したいと考えています。メインの default.html ファイルには、上部のナビゲーション/タイトルと、もう 1 つの div が含まれます。他の div は、プロジェクト内のすべての個別の HTML ファイルである他のすべてのページを読み込むために使用されます。
すべてのグローバル関数と主要な機能は、javascript ファイル application.js に格納されます。次に、ページ固有の JavaScript が各 HTML ファイルの先頭に配置されます。
これが問題だということはすぐにわかります。jQuery.load() を使用してページを読み込むと、アプリでセキュリティ エラーが発生します。
JavaScript ランタイム エラー: 動的コンテンツを追加できません。スクリプトが、安全でない可能性がある動的コンテンツ、または以前に動的に変更された要素を挿入しようとしました。たとえば、innerHTML プロパティを使用してスクリプトまたは不正な形式の HTML を追加すると、この例外が生成されます。toStaticHTML メソッドを使用して動的コンテンツをフィルタリングするか、createElement などのメソッドで要素と属性を明示的に作成します。
マイクロソフト特有のことをたくさん学ばなくて済むようにしたかったのです。彼らが多くのツールを提供してくれたのは素晴らしいことだと思います。おそらく私はそれらを十分に使用していないだけかもしれませんが、私と私がやろうとしていること、またはすでに達成できることに対して、すべてが硬直しすぎているように感じますjQueryで。私は、何が起こっているのかを正確に知り、それを完全に制御するのが好きな人です.
また、テンプレートとサンプル プロジェクトに目を通してみると、繰り返されるすべてのコードが本当に好きではありません。たとえば、すべて同じ参照を宣言するすべての HTML ファイル。タイトル バーなどの参照やセクションを 1 回だけ記述し、そのコードをプロジェクト全体にコピー アンド ペーストする必要がないようにしたいと考えています。
私が望んでいた方法で物事を行い、シングルページアプリを作成する方法はありますか? jQuery の .load() に代わる独自のものはありますか?
私を正しい方向に向ける助けがあれば、大歓迎です!
2012 年 8 月 14 日編集:
この質問の修正を使用してみました: Windows 8 Metro JavaScript アプリで jQuery を使用するとセキュリティ エラーが発生する
これにより、セキュリティ警告がなくなり、jQuery.load() を使用して HTML に読み込むことができます。ただし、DOM エクスプローラーを見ると、HTML からスクリプトが削除されています。
また、MSApp.execUnsafeLocalFunction() 内に .load() 呼び出しをラップしようとしましたが、ファイルからすべてのスクリプトが取り除かれます。何を与える?