如何在Sabre Red App中与外部webapp通信

时间:2016-09-30 14:35:14

标签: sabre

我正在开发一个Sabre Red应用程序,目的是使用WebkitView来呈现我们的Web应用程序。我知道WebkitView子类可以通过多种方式与作为插件资源本地托管的HTML / JS进行通信。但是,在红色应用程序和外部Web应用程序之间交换数据(pref.JSON)的最佳方法是什么?

我已经研究过的选项:

  1. 创建一个本地index.html作为插件资源,在iframe中加载Web应用程序,然后转到WebkitView< - > index.html< - > IFRAME / Web的应用程序。看起来有点黑客,我不确定Red Workspace是否总是允许index.html< - > iframe通信(不是那个跨站点?)
  2. 使用WebkitView #cuteJavaScript(),但我看不到Web应用程序如何发送JSON对象
  3. 由于 西蒙

2 个答案:

答案 0 :(得分:0)

从红色应用程序中,您可以呈现远程URL,就像它是浏览器一样。实际的Web App并不都需要与插件捆绑在一起。

或者打算将所有HTML / JS文件与客户端上的插件捆绑在一起。

答案 1 :(得分:0)

使用扩展点'com.sabre.edge.platform.optional.webkit.js.handler'工作原理验证Red App示例,但在使用WebkitView子类时只使用 。对BrowserView进行子类化,JS对象存在。

反过来说,我们决定使用com.sabre.edge.cf.webapp.services.WebViewForwardingService来调用JS函数。 (一定要包含'com.sabre.edge.cf.webapp.services'作为插件依赖项)