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) {
WebView newWebView = new WebView(MainActivity.this);
view.addView(newWebView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return true;
};
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
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);
웹뷰 어플을 만들고 있는 왕왕초보입니다.
어플내에서 새창을 띄워야 하는데 (주소 입력 하는것 아시죠?) 소스를 위에처럼 입력했더니
어플내에서가 아니라 외부 팝업창으로 뜹니다. 입력후에도 창이 닫히지 않고 어플내로 입력도 안되네요
구글링으로 어찌어찌 해당 소스까지는 왔는데 더이상은 찾아도 없는듯하고 봐도 솔직히 잘 모르겠네요 ㅜㅜ
웹사이트가 제가 직접 만든게 아니라 사이트내의 window.open 소스를 수정할 수는 없습니다.
1. 어플내에서 새창을 띄우기
2. 입력값을 다시 부모페이지로 입력 (새창은 닫힘)
이게 문제인데 저 소스에서 어떤 부분을 수정해야 할지 좀 알려주세요 고수님들