Cordova 内置浏览器打开的网页,是不能直接调用 Cordova 外壳 app 里的插件功能的,比如 定位、录音、播放音频 等
需要利用消息机制,和外壳交互,让外壳处理,然后结果传给内置浏览器的网页。
需要使用到下面一些 api
// 外壳 app 使用内置浏览器打开网页
var ref = window.open('http://www.baidu', '_blank', 'locaiton=no');
// 监听消息
ref.addEventListener('message', function (params) {
// params.data 就是消息
});
// 往内置浏览器网页中注入脚本
ref.executeScript({
code: 'js脚本' });
// 内置浏览器中的网页发送消息给外壳
webkit.messageHandlers.cordova_iab.postMessage('消息内容')
Cordova 内置浏览器打开的网页,是不能直接调用 Cordova 外壳 app 里的插件功能的,比如 定位、录音、播放音频 等
需要利用消息机制,和外壳交互,让外壳处理,然后结果传给内置浏览器的网页。
需要使用到下面一些 api
// 外壳 app 使用内置浏览器打开网页
var ref = window.open('http://www.baidu', '_blank', 'locaiton=no');
// 监听消息
ref.addEventListener('message', function (params) {
// params.data 就是消息
});
// 往内置浏览器网页中注入脚本
ref.executeScript({
code: 'js脚本' });
// 内置浏览器中的网页发送消息给外壳
webkit.messageHandlers.cordova_iab.postMessage('消息内容')