Android webView 打开新窗口的模式

最近自己在开发广告sdk这个项目,在对接其他第三方平台广告时,遇到了一个问题,就是第三方平台广告返回给我们的数据广告是一个HTML文件,自己用纯代码写了一个布局,如下图:Android webView 打开新窗口的模式_第1张图片
我是通过webview的形式展现出来的,这是一个插屏广告,由于插屏广告不是全屏的,所以点击广告时,webview里面的超链接广告不能全屏,查看了一下第三方广告平台返回给我们的HTML文件元素是target=”_top”,顺便看了一下API, target=”_top”表示 在整个窗口中打开被链接文档,target=”_balnk”表示在新窗口中打开被链接文档,没办法,我们得通过JS将target=”_top”改为target=”_blank”。

webView.setWebViewClient(new WebViewClient() {

            public void onPageFinished(WebView view, String url) {
            view.loadUrl("javascript: var allLinks = document.getElementsByTagName('a'); if (allLinks) {var i;for (i=0; i);
            }

            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                if(url.startsWith("newtab:")){

                    //对新的URL进行截取,去掉前面的newtab:
                    String realUrl=url.substring(7,url.length());
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent .setData(Uri.parse(realUrl));
                    main.startActivity(it);
                }else{
                    view.loadUrl(url);
                }
                return true;
            }
        });

你可能感兴趣的:(WebView)