我的问题是是否可以将 cordova.exec() 从外部网络发送到 cordova 应用程序?
以下是我的需求的详细场景...
我用 cordova cle 构建了一个 Android 应用程序, ( Cordova Activity )
并实现pluginA,
当我在应用程序中使用 cordova.exec 时,我确信这个插件可以成功运行。
在另一边,我使用webView来加载外部页面,
就像这样的loadURL(“我写的一些网页。”)。
在该网页中,我包含 cordova.js 并发送 cordova.exec(pluginA ); ,
但是除了收到警报对话框之外什么也没发生。
(间隙初始化:2) (间隙:[null,“CoreAndroid”,“messageChannel”,“CoreAndroid555630745”]) (间隙:[null,“CoreAndroid”,“显示”,“CoreAndroid555630746”])
In short: Can we use cordova.exec() to invoke native plugin from an external web page?
谢谢大家。
最佳答案
根据我所读到的内容,您的问题似乎是您想要直接在 Cordova 应用程序中加载外部 Web url。从外部 Web 源代码中,您希望能够通过 cordova 执行 native 调用。
如果这是您想要的,您可以使用 cordova-plugin-remote-injection .
它的作用是当您加载外部 URL 时,它会自动注入(inject)您在 Cordova 应用程序中安装的插件。之后,您可以使用变量 cordova
在您的外部源代码中。
整个过程非常简单,只需安装插件,剩下的就会自动为您完成。
请记住更新您的 index.html
文件在您的 Cordova
中应用。并设置meta
像这样的事情允许注入(inject)发生。
<meta http-equiv="Content-Security-Policy" content="gap://ready file:;script-src 'self' data:;">
关于javascript - 是否可以将 Cordova exec 命令从外部网络发送到 cordova 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34391111/