JavaScript怎样挪用Native iOS/Android 要领

写在前面的话:本文面向web前端工程师,iOS 或 Android 请移步这里stackoverflow。关于app开辟形式,这里不再赘述。

一、推断机型

js 挪用 Native iOS/Android function 须要运用差别的要领,所以首先要做的是推断用户机型,代码以下:

var u = navigator.userAgent.toLowerCase();
var isApple = /iphone|ipad|ipod|ios/i.test(u);
var isAndroid = /android/i.test(u);

二、挪用 Native iOS 要领

经由过程 js 转变 window.location 值, 来完成挪用 iOS function ,这个操纵并非跳转,而是触发了一个 即发即弃 (a fire and forget) 事宜。代码以下:

//一个参数
window.location = 'color://' + color;

//两个参数
window.location = 'myscheme://param1/' + value1 + '/param2/' + value2;

iOS 端吸收参数须要举行 url 编码处置惩罚,能够运用 encodeURIComponent 函数处置惩罚。

ps:关于URI和URL
URI(Uniform Resource Identifier) 一致资本标识符
URL(Uniform Resource Locator) 一致资本定位符
URI包括URL和URN,假如URI标识一个人,URL比如这个人的住址,URN则是名字。

三、挪用 Native Andriod 要领

与 iOS 差别之处在于,Andriod 吸收中文英文参数,无需 encode 操纵。完成代码以下:

if(window.AndroidBridge) {
    window.AndroidBridge.changeNavbarBackground(color);
}

四、关于函数称号商定

三方会依据营业需求定义一个通用的函数称号,这个函数称号通常是由web前端工程师定义的。比方,我想要猎取用户id,本着驼峰定名范例,我们将函数称号一致定义为 getId() 。在 iOS 调试时,发明iOS吸收到的函数要领为 getid() ,致使bug。

ok,题目解决了,若另有其他题目,迎接给我留言。假如对你有协助,记得在下方点个引荐吧~~

    原文作者:yingye
    原文地址: https://segmentfault.com/a/1190000007622245
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞