在Webview中运行javascript代码

use*_*476 7 javascript android webview

我有一个webview我在android中使用,我试图触发按钮点击javascript.我正在尝试使用下面的代码将类的颜色更改为红色.但我似乎无法让它发挥作用

final WebView wb=(WebView)findViewById(R.id.webView2);
wb.loadUrl("javascript:"
                + "var FunctionOne = function () {"
                + "  try{document.getElementsByClassName('test')[0].style.color='red';}catch(e){}"
                + "};");
Run Code Online (Sandbox Code Playgroud)

Pra*_*sad 25

从kitkat开始,使用evaluateJavascript方法而不是loadUrl来调用javascript函数,如下所示

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
        webView.evaluateJavascript("var FunctionOne = function () {"
            + "  try{document.getElementsByClassName('test')[0].style.color='red';}catch(e){}"
            + "};", null);
    } else {
        webView.loadUrl("javascript:"
            + "var FunctionOne = function () {"
            + "  try{document.getElementsByClassName('test')[0].style.color='red';}catch(e){}"
            + "};");
    }
Run Code Online (Sandbox Code Playgroud)

通过添加以下行为您的webview启用Javascript

wb.getSettings().setJavaScriptEnabled(true);
Run Code Online (Sandbox Code Playgroud)