美文网首页跨平台技术
混合开发-Android 判断 js 方法是否存在

混合开发-Android 判断 js 方法是否存在

作者: 289346a467da | 来源:发表于2018-05-11 14:31 被阅读276次

    当H5 js方法没有定义时,需要做一些特殊的处理,我们可以这样做,来判断js方法是否存在.

    比如判断webview加载url returnBackHandles Js 方法是否存在

     private String js = "function androidBack(){if(typeof returnBackHandles != \"undefined\" && typeof returnBackHandles == \"function\")" +
                "{console.log(\"returnBackHandle\");" +
                "returnBackHandleNew();" +
                "}else{" +
                "if(typeof nativeBridge == \"undefined\") " +
                "return false;" +
                "var toNativeData = {" +
                "methodName: \"nativeBridgeCallback['goBackCallback']\",errorMethodName: \"nativeBridgeCallback['goBackErrorCallback']\"};" +
                "console.log(toNativeData);" +
                "toNativeData = JSON.stringify(toNativeData);" +
                "nativeBridge['goBack'](toNativeData);}}";
    
    

    returnBackHandle 为判断的js方法

    webView 调用

                         try {
                                    webView.loadUrl("javascript:" + js + ";androidBack()");
                                } catch (Exception e) {
                                    if (webView.canGoBack()) {
                                        webView.goBack();
                                    } else {
                                        finish();
                                    }
                                }
    

    相关文章

      网友评论

        本文标题:混合开发-Android 判断 js 方法是否存在

        本文链接:https://www.haomeiwen.com/subject/rnufdftx.html