2

現在 iOS で作業しているアプリを書き直していますが、Windows 8 のメトロ スタイル アプリで問題が発生しています。特に、外部のHTML コンテンツ (および Css や JavaScript などの関連ライブラリ)を読み込めません。そうすると、さまざまな警告やエラーが表示されたり、リンクされていない JavaScript ファイルが表示されたりします。

サンドボックス化と ms-appx と ms-appx-web のコンテキスト切り替え (JavaScript プロジェクト タイプ) について理解していると思いますが、次のことがわかりました。

  1. iFrame を使用して同じプロジェクトから html をロードすると、つまりページがレンダリングされ、リンクされた JavaScript が実行されます。

  2. iFrame を使用して ApplicationData (ダウンロード後にファイルが解凍される場所) からロードすることは、前述のコンテキストのいずれでも機能しません。"The app can’t use script to load the file:///...AppData/Local/Packages/.../index.html because the url launches another app. Only direct user interaction can launch another app."スクリプトによってロードされていないにもかかわらず、次のようなエラーが表示され、コンテンツが表示されません。

  3. JavaScript で使用launchFileAsync('file:///...AppData/Local/Packages/.../index.html')すると、コンテンツが読み込まれて表示されますが、外部の JavaScript ファイルにはリンクされず (またはブロックされません)、デスクトップから html ファイルを実行してInternet Explorer restricts this page from running scripts or ActiveX controlsAllow blocked contentボタンを取得するのとよく似ています。

残念ながら、このコンテンツはリモートでアプリケーションに配信する必要があります。ただし、アプリの他のすべての側面は変更できます。私がフォローしている他の研究手段は次のとおりです。アプリ内購入メカニズムを使用して追加コンテンツをダウンロードする。カスタム ブラウザー コントロールの構築。ファイルの内容を解析し、1 つのモノリシック ページにまとめます。

誰かが何か考えたり、自分でこれに出くわしたりしていただければ幸いです。

4

0 に答える 0