JS 와 APP 의 상호작용 - H5 가 네 이 티 브 APP 를 호출 하 는 방법

7409 단어 jsapp
질문
최근 에 한 H5 프로젝트 는 앱 에 삽입 해서 사용 해 야 합 니 다. 이것 은 js 와 app 의 상호작용 과 관련 된 문제 입 니 다. 저 는 앱 에 값 을 전달 해 야 합 니 다. 다음은 제 가 프로젝트 를 하 는 과정 에서 값 을 전달 하 는 방법 입 니 다. 참고 하 시기 바 랍 니 다.
해결 방법
AppData 라 는 JSON 대상 은 우리 가 백 엔 드 에 전달 해 야 할 모든 값 이 며, 터미널 장 치 를 판단 해 야 합 니 다. IOS 터미널 에는 window. webkit. message Handlers, delivery ClueID 를 추가 해 야 합 니 다. 이것 은 네 이 티 브 방법 명 입 니 다.
var AppData = Object.assign(
                    {
     loanID:this.loanId},
                    {
     orderState:this.orderState}
                  );
              var u = navigator.userAgent,
                app = navigator.appVersion;
              //android    uc   
              var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; 
              //ios  
              var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X)/); 
              
              if(isiOS){
     
                window.webkit.messageHandlers.deliveryClueID.postMessage(AppData);
              }else if(isAndroid){
     
                android.deliveryClueID(JSON.stringify(AppData));
              }

아니면 그 럴 수 있어?이것 은 인터넷 에서 다른 사람의 방법 으로 JS 가 안 드 로 이 드 원생 을 호출 하 는 것 이다.
//   
JavaScript:android.     (params);
//   
window.android.     (params);

그리고 APP 엔 드 는 다음 과 같은 설정 을 해 야 합 니 다.이것 은 IOS 설정 과 호출 방법 입 니 다. delivery ClueID 는 원생 방법 명 입 니 다. IOS 를 하 는 큰 사람 이 알 아야 합 니 다.
let conf = WKWebViewConfiguration()
        conf.userContentController = WKUserContentController()
        conf.preferences.javaScriptEnabled = true
        conf.selectionGranularity = WKSelectionGranularity.character
        /// h5    swift      
        conf.userContentController.add(self, name: deliveryClueID)
        webView = WKWebView( frame: CGRect(x:0, y:KHeight_NavBar,width:kScreenWidth, height:kScreenHeight - KHeight_NavBar),configuration:conf)

안 드 로 이 드 가 어떻게 설정 하 는 지 모 르 겠 어 요 emmm...내 가 알 게 되면 더 하 자!

좋은 웹페이지 즐겨찾기