国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

原生App與H5頁面交互筆記

大小:0.3 MB 人氣: 2017-09-26 需要積分:1

  最近在做一個項目用到了原生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%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?