@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this
.webView = (WebView) findViewById(R.id.webview);
setWebViewSetting();
webView.loadUrl(URL_VERSION_1);
}
public
void
setWebViewSetting() {
webView.setWebViewClient(
new
WebViewClient());
webView.setWebChromeClient(
new
WebChromeClient() {
@Override
public
boolean
onCreateWindow(WebView view,
boolean
isDialog,
boolean
isUserGesture,
android.os.Message resultMsg) {
Toast.makeText(getApplicationContext(),
"aaaaaaaaaaaaaaaaaaaaaa"
, Toast.LENGTH_LONG).show();
WebView newWebView =
new
WebView(MainActivity.
this
);
newWebView.setWebChromeClient(
new
WebChromeClient() {
@Override
public
void
onCloseWindow(WebView window) {
Toast.makeText(getApplicationContext(),
"ccccccccccccccc"
, Toast.LENGTH_LONG).show();
window.setVisibility(View.GONE);
webView.removeView(window);
}
});
webView.addView(newWebView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return
true
;
};
@Override
public
void
onCloseWindow(WebView window){
super
.onCloseWindow(window);
webView.removeView(window);
}
public
boolean
onJsAlert(WebView view, String url, String message,
final
android.webkit.JsResult result) {
Toast.makeText(getApplicationContext(),
"bbbbbbbbbbbbbb"
, Toast.LENGTH_LONG).show();
new
AlertDialog.Builder(MainActivity.
this
).setTitle(
"AlertDialog"
).setMessage(message)
.setPositiveButton(android.R.string.ok,
new
AlertDialog.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
result.confirm();
}
}).setCancelable(
false
).create().show();
return
true
;
};
});
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(
true
);
webSettings.setBuiltInZoomControls(
true
);
webSettings.setSupportZoom(
true
);
webSettings.setPluginState(WebSettings.PluginState.ON_DEMAND);
webSettings.setSupportMultipleWindows(
true
);
webSettings.setJavaScriptCanOpenWindowsAutomatically(
true
);
webSettings.setBlockNetworkImage(
false
);
webSettings.setLoadsImagesAutomatically(
true
);
webSettings.setUseWideViewPort(
true
);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
}