Запустить код javascript в 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){}"
                + "};");

Ответ 1

Из kitkat и далее используйте метод javascript вместо 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){}"
            + "};");
    }

Включите Javascript для просмотра в Интернете, добавив следующую строку

wb.getSettings().setJavaScriptEnabled(true);

Ответ 2

Включить JavaScript в Webview, используя:

final WebView wb=(WebView)findViewById(R.id.webView2);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);