WebviewでJavaScriptコードを実行する 質問する

WebviewでJavaScriptコードを実行する 質問する

私はAndroidでWebViewを使用しており、ボタンのクリック時に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 以降では、loadUrl の代わりに、evaluateJavascript メソッドを使用して以下のように 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){}"
            + "};");
    }

次の行を追加して、WebView の Javascript を有効にします。

wb.getSettings().setJavaScriptEnabled(true);

おすすめ記事