原生App與H5頁面交互筆記
最近在做一個項目用到了原生App與H5交互,之前有做過簡單的H5頁面直接調用原生方法的例子,就是利用UIWebView中的代理方法。
//webview每次加載之前都會調用這個方法,利用該代理方法截取JS的href來調用原生的方法
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
然而這次的交互要求是進行雙向通信,即JS調用原生App的方法之后,原生App要講相關參數信息返回給H5頁面,H5頁面接受到參數信息后做其他處理。
例:H5頁面的發布信息按鈕,在點擊按鈕后要在原生端判斷用戶是否登錄,若沒有登錄則彈出原生登錄頁面,登錄成功后將用戶信息返回給H5頁面,繼續發布流程。
重點來了!
在這里推薦一個比較好的第三方庫即:WebViewJavaBridge
地址:https://github.com/marcuswestin/WebViewJavaBridge
通過使用該庫可以輕松實現JS與原生交互。
//初始化WebViewJavaBridge方法
_bridge= [WebViewJavaBridge bridgeForWebView:self.BookWebView webViewDelegate:self handler:^(id data,WVJBResponseCallback responseCallback) {
}];
//原生與JS約定接口名為“testObjcCallback”,data是JS傳遞過來的信息,responseCallback來將信息傳遞給JS
[_bridge registerHandler:@“testObjcCallback” handler:^(id ?data,WVJBResponseCallback responseCallback) {
responseCallback(“postInfomationToJS”)
}];
UIWebView頁面信息的離線緩存
推薦一個比較好的第三方庫RNCachingURLProtocol,只需要在AppDelegate中加入下面方法即可。
[NSURLProtocolregisterClass:[RNCachingURLProtocolclass]];
地址:https://github.com/rnapier/RNCachingURLProtocol
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
原生App與H5頁面交互筆記下載
相關電子資料下載
- iOS17.1可能明天發布,iOS17.1主要修復哪些問題? 377
- 雙極鎖存霍爾開關AH542用于電動窗簾,過壓保護高達40V 99
- 華為全新鴻蒙蓄勢待發 僅支持鴻蒙內核和鴻蒙系統應用 719
- 蘋果手機系統iOS 17遭用戶質疑 731
- iPhone12輻射超標?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標明年智能手機出貨7000萬部;消息稱 MiOS 僅限國內,小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機身過熱 216
- Testin云測兼容和真機服務平臺中上線iPhone 15系列手機 208
- 利爾達推出搭載HooRiiOS的Matter模組 145
- 運放參數解析:輸入偏置電流(Ibias)和失調電流(Ios) 128