摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。
寫在前面的話:本文面向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則是名字。
與 iOS 不同之處在于,Andriod 接收中文英文參數,無需 encode 操作。實現代碼如下:
if(window.AndroidBridge) { window.AndroidBridge.changeNavbarBackground(color); }四、關于函數名稱約定
三方會根據業務需求定義一個通用的函數名稱,這個函數名稱通常是由web前端工程師定義的。例如,我想要獲取用戶id,本著駝峰命名規范,我們將函數名稱統一定義為 getId() 。在 iOS 調試時,發現iOS接收到的函數方法為 getid() ,導致bug。
ok,問題解決了,若還有其他問題,歡迎給我留言。如果對你有幫助,記得在下方點個推薦吧~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50253.html
摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
閱讀 3940·2021-10-09 09:43
閱讀 2872·2021-10-08 10:05
閱讀 2734·2021-09-08 10:44
閱讀 883·2019-08-30 15:52
閱讀 2810·2019-08-26 17:01
閱讀 3017·2019-08-26 13:54
閱讀 1651·2019-08-26 10:48
閱讀 807·2019-08-23 14:41