JavaScriptを使用する前に、まず「getJavaScriptEnabled()」(デフォルトはFALSE)を使用してアプリケーションでJavascriptが有効かどうかをチェックする必要があります。また、loadUrl()メソッドは、現在のページのみを読み込むために使用されました。 JavaScriptに関連することは何もしません。
例:
// WebViewのの初期化
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
のWebViewでロードHTML
webView.loadUrl("file:///android_asset/testhtml.html");
設定WebChromeClient WebViewの
にWebViewの設定
webView.setWebChromeClient(new MyJavaScriptChromeClient());
MyJavaScriptChromeClientクラス ここでは、JavaScriptアラート関数を処理するためにonJsAlert()メソッドをオーバーライドする必要があります。
private class MyJavaScriptChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message,final JsResult result) {
//handle Alert event, here we are showing AlertDialog
new AlertDialog.Builder(MainWebViewActivity.this)
.setTitle("JavaScript Alert !")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do your stuff
result.confirm();
}
}).setCancelable(false).create().show();
return true;
}
}
私のHTMLファイル
: testhtml.html:
<html>
<body >
<div onclick="alert('hello')"> Click Me !! </div>
</body>
</html>
どのように動作するのか? テキスト「Click Me !!」アンドロイド機能onJsAlert(WebView view、String url、String message、final JsResult result)が呼び出されます。警告するパラメータは、onJsAlert関数のメッセージパラメータにコピーされます。残りの処理はそこで行われます。 ここではAlertDialogを表示しています。
plzはまた、私まで投票Answer ... :) – Talha