如何在cordova phonegap build

时间:2017-07-14 18:21:10

标签: ios cordova wkwebview postmessage

我在phonegap应用中使用cordova-plugin-wkwebview-engine打开网页:

    ref = window.open(url, '_self', 'location=no,toolbar=no');

到目前为止一切正常,页面显示正常,iOS日志说应用程序正在使用wkWebView,显示速度比使用UIWebView快得多。

我想从WkWebView中的页面发送postmessage并处理设备上运行的index.js中的消息。在WkWebView问题页面中,我将以下代码复制到网页中:

    <button type="button" name="button" onclick="sayHello()">Say hello</button>
    <script type="text/javascript">
        window.addEventListener("message",function(event){
            console.log("IFRAME");
            console.log(event);
        }, false);
        function sayHello(){
            parent.postMessage("Hello!","*")
        }
    </script>

我编译/安装应用程序并运行。我点击按钮,调试器说parent.postMessage执行。所以现在我已准备好在设备端编写消息处理程序。

复制的代码显然假设它在iframe中运行,我假设是Phonegap发起的主要index.html。

在尝试iframe方法之前,我想知道:有没有人找到一种方法来使用postmessage在index.js和WkWebView之间进行通信而不依靠iframe?

例如,我的window.open创建了对象&ref;#ref;&#39;。我可以简单地在&#39; ref&#39;上添加一个事件监听器。捕获消息?如果是这样,那么我怀疑我是否需要使用除父母以外的其他东西&#39;在致电&#39; parent.postmessage&#39;。那会是什么?

建议很好,例子更好。

请注意,此应用尚未需要深入研究本机代码... Phonegap Build一直在创建我的可安装程序。如果可能的话,我希望保持这种状态。

0 个答案:

没有答案