我見過這個SO發佈有關使用iframe和做postMessage的帖子:Metro App and iFrame cookie。我試圖在Win8 Release Preview中使用HTML/JS Metro應用程序做一些非常類似的事情,但似乎不太可能在該解決方案中複製行爲。Metro應用程序中的遠程iframe問題
我具有存儲在一個遠程位置作爲一個簡單的框架:
<!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: The app couldn’t navigate to https://dl.dropbox.com/u/75275447/win8Frame.html because of this error: RESOURCE_NOT_FOUND.
我試圖尋找到這可能讓我實現這一目標並啓用任何明顯的:
- 家庭或工作網絡
- 上網(客戶端&服務器)
- 上網(客戶端)
無濟於事...我也嘗試了一個框架(本地應用程序)加載到網絡contenxt(通過ms-wwa-web://),其中包含一個宿主遠程iframe的div並鏈接消息轉發一個postMessage的遠程iframe中,但我又看到另一個錯誤:
APPHOST9624: The app can’t use script to load the ms-wwa-web://frame.html/ url because the url launches another app. Only direct user interaction can launch another app.
我開始認爲這是一個不可能完成的任務。