亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

原生App與H5頁(yè)面交互筆記

大?。?/span>0.3 MB 人氣: 2017-09-26 需要積分:1

  最近在做一個(gè)項(xiàng)目用到了原生App與H5交互,之前有做過(guò)簡(jiǎn)單的H5頁(yè)面直接調(diào)用原生方法的例子,就是利用UIWebView中的代理方法。

  //webview每次加載之前都會(huì)調(diào)用這個(gè)方法,利用該代理方法截取JS的href來(lái)調(diào)用原生的方法

  - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType

  然而這次的交互要求是進(jìn)行雙向通信,即JS調(diào)用原生App的方法之后,原生App要講相關(guān)參數(shù)信息返回給H5頁(yè)面,H5頁(yè)面接受到參數(shù)信息后做其他處理。

  例:H5頁(yè)面的發(fā)布信息按鈕,在點(diǎn)擊按鈕后要在原生端判斷用戶是否登錄,若沒(méi)有登錄則彈出原生登錄頁(yè)面,登錄成功后將用戶信息返回給H5頁(yè)面,繼續(xù)發(fā)布流程。

  重點(diǎn)來(lái)了!

  在這里推薦一個(gè)比較好的第三方庫(kù)即:WebViewJavaBridge

  地址:https://github.com/marcuswestin/WebViewJavaBridge

  通過(guò)使用該庫(kù)可以輕松實(shí)現(xiàn)JS與原生交互。

  //初始化WebViewJavaBridge方法

  _bridge= [WebViewJavaBridge bridgeForWebView:self.BookWebView webViewDelegate:self handler:^(id data,WVJBResponseCallback responseCallback) {

  }];

  //原生與JS約定接口名為“testObjcCallback”,data是JS傳遞過(guò)來(lái)的信息,responseCallback來(lái)將信息傳遞給JS

 ?。踎bridge registerHandler:@“testObjcCallback” handler:^(id ?data,WVJBResponseCallback responseCallback) {

  responseCallback(“postInfomationToJS”)

  }];

  UIWebView頁(yè)面信息的離線緩存

  推薦一個(gè)比較好的第三方庫(kù)RNCachingURLProtocol,只需要在AppDelegate中加入下面方法即可。

 ?。跱SURLProtocolregisterClass:[RNCachingURLProtocolclass]];

  地址:https://github.com/rnapier/RNCachingURLProtocol

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?