Cordova 如何将postMessage与ionic应用程序内浏览器插件一起使用?
由于模块的版本为3.1.0-dev,因此我们可以通过以下方式使用postMessage API:Cordova 如何将postMessage与ionic应用程序内浏览器插件一起使用?,cordova,ionic-framework,iframe,inappbrowser,postmessage,Cordova,Ionic Framework,Iframe,Inappbrowser,Postmessage,由于模块的版本为3.1.0-dev,因此我们可以通过以下方式使用postMessage API: webkit.messageHandlers.cordova_iab.postMessage(stringifiedmessagegeobj); 然而,经过长时间的研究,我没能成功地使它工作。它总是默默地失败。此外,webkit对象不存在。。。正如本文中所建议的,我提交了一个有效的JSON字符串。请在下面找到my package.json文件的摘录: { "dependencies": {
webkit.messageHandlers.cordova_iab.postMessage(stringifiedmessagegeobj);
然而,经过长时间的研究,我没能成功地使它工作。它总是默默地失败。此外,webkit对象不存在。。。正如本文中所建议的,我提交了一个有效的JSON字符串。请在下面找到my package.json文件的摘录:
{
"dependencies": {
"@angular/core": "~8.1.2",
"@ionic-native/core": "^5.16.0",
"@ionic-native/in-app-browser": "^5.16.0",
"cordova-plugin-inappbrowser": "git+https://github.com/apache/cordova-plugin-inappbrowser.git"
}
}
我用npm list–depth=0
检查了cordova应用程序浏览器版本,并安装了3.1.1-dev。
你们知道吗,伙计们?如果您需要更多信息,请不要犹豫。:-)
编辑:我想将数据从iframe发送到我的“主线程”。为了实现这一点,我使用了executeScript方法,该方法在iframe中注入了一个脚本。但遗憾的是,我没有webkit对象
this.ref=this.iab.create(“https://google.com“,”_blank“,”EnableViewPortScale=yes,location=no,hidden=false”);
此.ref.on('loadstop').subscribe(事件=>{
此.ref.executeScript({
代码:“webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({foo:bar});”
});
});
当我测试我的应用程序时,我使用了命令爱奥尼亚服务--devapp
并在我的Android手机上使用了应用程序爱奥尼亚devapp。因此,它看起来不是真正的Android原生应用程序。
我引述:
浏览器怪癖
未激发loadstart、loaderror和消息事件
我在我的笔记本电脑上安装了一个Android模拟器,我成功地将postMessage从我的“iframe”传输到了我的“主线程”.是否要将数据发送到iframe?您正在应用程序中加载的数据。谢谢您的回答。我同意这不是很清楚。我已经对此添加了一个小说明。我想将一些数据从iframe发送到我的“主线程”。