2017-12-15 42 views
1

androidiOS Swift (WKWebview)의 함수를 javascript에서 호출하려고합니다. 안드로이드에 대한비슷한 방법으로 안드로이드와 iOS에서 함수를 호출하는 방법은 비슷합니다.

:

public class WebAppInterface { 

    WebAppInterface(Context c) { 
     mContext = c; 
    } 

    @JavascriptInterface 
    public void postMessage(String message) { 
     Log.v(TAG, "message ----"+message); 
     Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show(); 

    } 
} 

webView.addJavascriptInterface(new WebAppInterface(mContext), "appInterface"); 
안드로이드에 대한

자바 스크립트 호출 :

window.appInterface.postMessage("Hello); 

iOS 용 자바 스크립트 호출 :

window.webkit.messageHandlers.appInterafce.postMeesage("Hello"); 

여기 javascript에서 androidiOS으로 전화가 걸려 있습니다. androidiOS의 함수를 한 가지 방법으로 호출 할 수 있습니까?

감사합니다.

답변

0

둘 다 단일 기능으로 묶으시겠습니까?

function postAppMessage(msg) { 
    if (window.webkit != undefined) { 
     if (window.webkit.messageHandlers.appInterface != undefined) { 
      window.webkit.messageHandlers.appInterface.postMessage(msg) 
     } 
    } 
    if (window.appInterface != undefined) { 
     window.appInterface.postMessage(msg) 
    } 
}