Cordova 内置浏览器打开的网页,是不能直接调用 Cordova 外壳 app 里的插件功能的,比如 定位、录音、播放音频 等
需要利用消息机制,和外壳交互,让外壳处理,然后结果传给内置浏览器的网页。
需要使用到下面一些 api
// 外壳 app 使用内置浏览器打开网页
var ref = window.open('http://www.baidu.com/', '_blank', 'locaiton=no');
// 监听消息
ref.addEventListener('message', function (params) {
// params.data 就是消息
});
// 往内置浏览器网页中注入脚本
ref.executeScript({
code: 'js脚本' });
// 内置浏览器中的网页发送消息给外壳
webkit.messageHandlers.cordova_iab.postMessage('消息内容')
下面以一个例子来说明这个过程。
<
本文介绍了如何在Cordova的InAppBrowser内打开的网页与外壳应用进行交互,以调用外壳提供的如定位等插件功能。通过消息机制,外壳处理请求并返回结果给网页,详细步骤通过一个使用百度定位功能的例子进行阐述。
1万+

被折叠的 条评论
为什么被折叠?



