私は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);