2

iframe の使用と postMessage: Metro App and iFrame cookieの使用に関するこの SO 投稿を見てきました。HTML/JS Metro アプリケーションを使用して Win8 Release Preview で非常に似たようなことをしようとしていますが、そのソリューションで動作を再現することはかなり不可能のようです。

次のようにリモートの場所に保存されている単純なフレームがあります。

<!DOCTYPE html>
<html>
<body>
<script>
window.onmessage = function(e) {
    alert("Hello world");

    debugger;
};
</script>
</body>
</html>

私の default.html には、次のように iframe を含む div があります。

<div id="container">
    <iframe id="frame" src="https://dl.dropbox.com/u/75275447/win8Frame.html"></iframe>
</div>

#frame で postMessage を実行する任意のボタンがあり、通常の Html サイトではリモート フレーム onmessage をトリガーしますが、代わりに VS でエラー リストを見て、次のことを確認できます。

APPHOST9613: 次のエラーのため、アプリはhttps://dl.dropbox.com/u/75275447/win8Frame.htmlに移動できませんでした : RESOURCE_NOT_FOUND。

これを実現して有効にする可能性のあるマニフェストを調べてみました。

  • 自宅または職場のネットワーキング
  • インターネット (クライアント & サーバー)
  • インターネット(クライアント)

役に立たない...私はまた、リモートiframeをホストし、onmessageをチェーンして転送するdivを含むフレーム(アプリケーションに対してローカル)を(ms-wwa-web://経由で)Webコンテンツにロードしようとしましたリモート iframe への postMessage ですが、別のエラーが表示されます。

APPHOST9624: URL が別のアプリを起動するため、アプリはスクリプトを使用して ms-wwa-web://frame.html/ URL を読み込むことができません。別のアプリを起動できるのは、直接的なユーザー操作のみです。

これは不可能な仕事だと思い始めています。

4

1 に答える 1

0

この問題とは無関係であると考えたために省略した情報の1つは、別のSO投稿で解決策を見つけたJqueryの使用に関連するjavascriptコンソールで見つかったエラーでした。この問題を解決すると、アプリがリモートiframeを読み込むことができるようになり、ボタンを押すと、メッセージがリモートiframeのjavascriptに到達するのを確認できます(私の場合、alert()が未定義であることがわかりますが、できることを証明しようとしていましたリモートコードをロードして実行します)。

話の教訓は、関連するjavascriptコンソールエラーを明確にすることだと思います...

于 2012-07-10T13:24:17.253 に答える