您的位置:首页 > 移动开发

js调用移动端原生方法

2017-05-24 15:30 127 查看

问题描述:

移动端使用webview打开网页,网页中需要用js调用移动端原生的方法来实现另外的一些功能。

解决方法:

首先,需要判断是android端还是ios端

//判断是否为ios端访问
function _IsIOS() {
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
return true;
} else {
return false;
}
}
//判断是否为android端访问
function _IsAndroid() {
if (/(Android|Adr)/i.test(navigator.userAgent)) {
return true;
} else {
return false;
}
}


然后根据判断结果来调用移动端的原生方法

//method为移动端原生方法的方法名,param为要传递的参数
if (_IsIOS()) {
window.webkit.messageHandlers.method.postMessage(param);
} else if (_IsAndroid()) {
window.control.call('method', param);
//或者window.control.method(param);
}


注意:

ios只接受一个参数,因此如果需要传递多个参数,可以将参数做成json进行传递

ios的参数不能不传,哪怕只传个空字符串(这是个坑)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: