在 Android WebView 中加載 JavaScript 模態窗口(showModalDialog),你需要執行以下步驟:
webView.setWebChromeClient(new WebChromeClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle("提示")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
})
.setCancelable(false)
.create()
.show();
return true;
}
});
webView.loadUrl("https://example.com");
這樣,當網頁中出現 JavaScript 對話框時,WebViewClient 的 onJsAlert 方法會被調用,并顯示一個 AlertDialog 來處理對話框。你可以根據自己的需求來自定義對話框的樣式和行為。
請注意,Android WebView 默認情況下不支持 showModalDialog 方法,因為這是一個已經過時的方法。如果你想加載具有模態窗口的網頁,最好考慮使用其他現代的 Web 技術,例如使用 HTML5 和 CSS3 實現模態窗口。