0

我将 HTML 加载到我的 WebView

this.webViewer.loadDataWithBaseURL(BASE_URL, completeNewsTemplate,
                "text/html", "UTF-8", null);

其中 BASE_URL = " http://www.example.ru " 我用它来加载带有相关图像 src 的图像的 WebView

如果在 HTML 源中我得到了类似的 href 链接

<a href="http://www.example.ru" target="_blank">Example</a>

然后它只是重新加载当前的 webview,并且 target 属性确实为打开新窗口做任何事情。

如何让 webview 在新窗口中打开链接?

4

1 回答 1

1

这是解决方案。

如果您的链接等于基本 url WebView 认为您只想使用当前页面。

你可以试着抓住它

webViewer.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                System.out
                    .println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.onPageStarted()");
                    super.onPageStarted(view, url, favicon);

            }

            @Override
            public void onPageFinished(WebView view, String url) {
                            System.out
                    .println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.onPageFinished()");
                super.onPageFinished(view, url);

            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
            System.out
                    .println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.shouldOverrideUrlLoading()");
                return false;

            }

        });

但是然后您单击 webView 中的链接,您永远不会被解雇shouldOverrideUrlLoadingonPageStartedonPageFinished与您的 base_url。

所以我的解决方案是用于基本 url 另一个没有www前缀的域。

例如,如果您的域 www.example.com 使用基本 url example.com

于 2013-03-29T09:39:56.403 回答