WebView如何与Js交互

2017-12-26  本文已影响16人  o动感超人o

我用桥接的方式实现的:

    @SuppressLint("AddJavascriptInterface")
    protected void initWebView() {
        super.initWebView();
        String ua = webView.getSettings().getUserAgentString();
        webView.getSettings().setUserAgentString(ua + ";abc");
        //关键代码
        webView.addJavascriptInterface(new JSInvokeClass(), "Test");
    }

JSInvokeClass名字是自定义的,随便起名

    private final class JSInvokeClass {
        @JavascriptInterface
        public String getUserInfo() {
            return "字符串";
        }
    }

js直接在按钮的点击事件里写"Test.getUserInfo()"就可以调用了
例如

<html>
<body>
<script>

function test(){
 var data = Test.getUserInfo()
 document.getElementById('content').innerHTML = data
}

</script>

<button id="testBtn" type="button" onClick="test()">getUserInfo</button>
<div id="content"/>

</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读