摘要:三調用方法與不同之處在于,接收中文英文參數(shù),無需操作。例如,我想要獲取用戶,本著駝峰命名規(guī)范,我們將函數(shù)名稱統(tǒng)一定義為。在調試時,發(fā)現(xiàn)接收到的函數(shù)方法為,導致。
寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發(fā)模式,這里不再贅述。
一、判斷機型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 值, 來實現(xiàn)調用 iOS function ,這個操作并不是跳轉,而是觸發(fā)了一個 即發(fā)即棄 (a fire and forget) 事件。代碼如下:
//一個參數(shù) window.location = "color://" + color; //兩個參數(shù) window.location = "myscheme://param1/" + value1 + "/param2/" + value2;
iOS 端接收參數(shù)需要進行 url 編碼處理,可以使用 encodeURIComponent 函數(shù)處理。
ps:關于URI和URL
URI(Uniform Resource Identifier) 統(tǒng)一資源標識符
URL(Uniform Resource Locator) 統(tǒng)一資源定位符
URI包含URL和URN,如果URI標識一個人,URL好比這個人的住址,URN則是名字。
與 iOS 不同之處在于,Andriod 接收中文英文參數(shù),無需 encode 操作。實現(xiàn)代碼如下:
if(window.AndroidBridge) { window.AndroidBridge.changeNavbarBackground(color); }四、關于函數(shù)名稱約定
三方會根據業(yè)務需求定義一個通用的函數(shù)名稱,這個函數(shù)名稱通常是由web前端工程師定義的。例如,我想要獲取用戶id,本著駝峰命名規(guī)范,我們將函數(shù)名稱統(tǒng)一定義為 getId() 。在 iOS 調試時,發(fā)現(xiàn)iOS接收到的函數(shù)方法為 getid() ,導致bug。
ok,問題解決了,若還有其他問題,歡迎給我留言。如果對你有幫助,記得在下方點個推薦吧~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/91138.html
摘要:三調用方法與不同之處在于,接收中文英文參數(shù),無需操作。例如,我想要獲取用戶,本著駝峰命名規(guī)范,我們將函數(shù)名稱統(tǒng)一定義為。在調試時,發(fā)現(xiàn)接收到的函數(shù)方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發(fā)模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
摘要:三調用方法與不同之處在于,接收中文英文參數(shù),無需操作。例如,我想要獲取用戶,本著駝峰命名規(guī)范,我們將函數(shù)名稱統(tǒng)一定義為。在調試時,發(fā)現(xiàn)接收到的函數(shù)方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發(fā)模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
閱讀 3310·2021-09-30 09:54
閱讀 3808·2021-09-22 15:01
閱讀 3116·2021-08-27 16:19
閱讀 2580·2019-08-29 18:39
閱讀 2168·2019-08-29 14:09
閱讀 638·2019-08-26 10:23
閱讀 1346·2019-08-23 12:01
閱讀 1876·2019-08-22 13:57