摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。
寫在前面的話:本文面向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/91138.html
摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
摘要:三調用方法與不同之處在于,接收中文英文參數,無需操作。例如,我想要獲取用戶,本著駝峰命名規范,我們將函數名稱統一定義為。在調試時,發現接收到的函數方法為,導致。 寫在前面的話:本文面向web前端工程師,iOS 或 Android 請移步這里stackoverflow。關于app開發模式,這里不再贅述。 一、判斷機型 js 調用 Native iOS/Android function 需...
閱讀 3300·2021-09-30 09:54
閱讀 3782·2021-09-22 15:01
閱讀 3105·2021-08-27 16:19
閱讀 2572·2019-08-29 18:39
閱讀 2146·2019-08-29 14:09
閱讀 623·2019-08-26 10:23
閱讀 1337·2019-08-23 12:01
閱讀 1862·2019-08-22 13:57