안드로이드 webview에서 팝업창 및 팝업창 닫기 > 자료실

회원로그인

오늘 본 게시물

오늘 본 페이지

없음

오늘 본 C.m.A Util

없음

자료실

자료실

안드로이드 webview에서 팝업창 및 팝업창 닫기

페이지 정보

본문

private class mWebChromeClient extends WebChromeClient {
	@Override
	public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg) {
		view.removeAllViews();
		WebView childView = new WebView(view.getContext());
		childView.getSettings().setJavaScriptEnabled(true);
		childView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
		childView.getSettings().setSupportMultipleWindows(true);
		childView.setWebChromeClient(this);
		childView.setWebViewClient(new WebViewClient() {

			//@Override
			public void onCloseWindow(WebView window) {
				window.destroy();
			}
		});

		childView.setLayoutParams(
				new LinearLayout.LayoutParams(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.FILL_PARENT)
		);

		view.addView(childView);
		WebView.WebViewTransport transport = (WebView.WebViewTransport)resultMsg.obj;
		transport.setWebView(childView);
		resultMsg.sendToTarget();
		return true;
	}


	@Override
	public void onCloseWindow(WebView window) {
		Log.i(getClass().getName(), "onCloseWindow");
		window.setVisibility(View.GONE);
		window.destroy();
		//mWebViewSub=null;
		super.onCloseWindow(window);
	}

	@Override
	public boolean onJsAlert(WebView view, String overrideUrl, String message, final JsResult result) {
		new AlertDialog.Builder(view.getContext())
				.setTitle("Alert")
				.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;
	}

웹에서 window.open 호출시 opt항목을 없애주는게 편함
var opt = 'left=100,top=100,width=600,height=600,scrollbars=1';
if(g5_cma_is_hybrid) { opt = ''; }
var win_board_singo_win = window.open(url, 'cma_win_board_singo', opt);
win_board_singo_win.focus();
if(g5_cma_is_hybrid) { $("html, body").animate({scrollTop:0}, '500'); }
추천 0 비추천 0
profile_image

총모아 님의 댓글

총모아 작성일

좋아요


  • 회사 : Cginjs
  • 대표 : Cginjs
  • 주소 :
  • 메일 : admin@mysample.com
  • 사업자 등록번호 :
Copyright © Cginjs All rights reserved.
notice
Warning: Undefined variable $HTTP_ACCEPT_LANGUAGE in /cginjs/www/bbs/visit_insert.inc.php on line 131