1

查看此文档中的 postMessage 示例:http: //developer.chrome.com/trunk/apps/app_external.html#postMessage

似乎表明沙盒页面将同步注册事件处理程序,否则它应该如何获得 postMessage 事件?

我想这与这里的错误有关:https ://code.google.com/p/chromium/issues/detail?id= 154662 但是,您似乎不能使用窗口回调将 postMessage 发送到沙盒 iframe提到了一种解决方法,您可以在沙盒页面中使用包含 iframe 的页面。这里唯一的问题是仍然不清楚事件如何/何时触发以及它在哪里可见......

这个沙盒的东西似乎非常复杂,并且它周围的文档具有误导性和/或过时。这个例子有意义吗?是否可以在不先收到消息并记录 event.source 的情况下向后台页面发送消息?

如何在后台页面注册事件监听器以响应沙盒页面发回的消息?这里有很多问题,而我所拥有的只是一个破碎的例子。

4

1 回答 1

1

github 上的 chrome-app-samples 上的示例更符合您的要求。这是添加事件侦听器以响应事件的沙盒页面:https ://github.com/GoogleChrome/chrome-app-samples/blob/master/sandbox/sandbox.html

这是使用的背景页面postMessagehttps ://github.com/GoogleChrome/chrome-app-samples/blob/master/sandbox/mainpage.js

github 示例比文档中的示例丰富得多。https://github.com/GoogleChrome/chrome-app-samples提供了您可能需要做的所有事情的示例。

于 2013-04-13T12:46:15.653 回答