android webview从Javascript打开浏览器窗口

时间:2012-02-02 15:29:56

标签: javascript android iframe webview

我在网页浏览中(在片段中)包含移动谷歌广告。当您点击我想在新浏览器中打开的广告时。我启用了以下内容:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

google.js正在生成iFrame但是点击webview似乎没有注册为新的链接点击,也没有调用shouldOverrideUrlLoading

1 个答案:

答案 0 :(得分:0)

在另一个问题here中找到答案,

但是我已将其修改为片段(包括getActivity())。 请注意,这是专门用于Google广告。在你webclient中覆盖以下方法。

  @Override
        public void onLoadResource(WebView view, String url)
        {
            // the url that contains the ad to link to contains googleads, this is risky if google
            // change it, but there couldn't find a nice way around
            if (url.contains("googleads"))
            {
                HitTestResult hitTestResult = view.getHitTestResult();
                // Check is the hit test is a src tag with image anchor (i.e an mobile ad) 
                if (hitTestResult.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)
                {
                    getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                    view.stopLoading();                        
                }
            }
        }