美文网首页跨平台技术
混合开发-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