2012-07-09 61 views
2

我見過這個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.

我開始認爲這是一個不可能完成的任務。

回答

0

信息的一塊我離開了,因爲我認爲這是不相關的這個問題是在發現錯誤JavaScript控制檯有關使用jQuery,我發現在另一個SO post的解決方案。清除這個問題現在允許應用程序加載遠程iframe,我可以按下按鈕,並看到消息到達遠程iframe的JavaScript(在我的情況我看到alert()未定義,但我只是想證明我可以加載並執行遠程代碼)。

我猜這個故事的寓意是相關的javascript console錯誤...

相關問題