Metro应用程序中的远程iframe问题

时间:2012-07-09 20:28:53

标签: iframe windows-8 microsoft-metro winjs

我看过这篇关于使用iframe和postMessage的帖子:Metro App and iFrame cookie。我正在尝试使用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。

我已经尝试查看任何可能允许我实现此功能并启用的清单:

  • 家庭或工作网络
  • 互联网(客户端和服务器)
  • 互联网(客户)

无济于事...我还尝试将一个框架(应用程序本地)加载到web contenxt(通过ms-wwa-web://),其中包含一个托管远程iframe和链的div onmessage将postMessage转发到远程iframe,但我再次看到另一个错误:

  

APPHOST9624:该应用无法使用脚本加载   ms-wwa-web://frame.html/ url因为url启动了另一个应用程序。   只有直接用户互动才能启动另一个应用。

我开始认为这是一项不可能完成的任务。

1 个答案:

答案 0 :(得分:0)

我认为与此问题无关的一条信息是与使用Jquery相关的 javascript控制台中发现的错误,我在另一个SO post找到了解决方案。现在清理该问题允许应用程序加载远程iframe,我可以按下按钮,看到消息到达远程iframe的javascript(在我的情况下,我看到alert()未定义,但我只是想证明我可以加载并执行远程代码。)

我想这个故事的寓意清楚了相关的 javascript控制台错误......