2013-03-29 27 views
0

我加载HTML到我的WebView与的Android的WebView loadDataWithBaseURL与链接等于的BaseURL工作正确

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

其中BASE_URL = “http://www.example.ru” 我使用它与WebView中加载图像相对图像SRC的

如果HTML soruce我得到href链接像

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

然后它只是重新加载当前webview,目标属性确实使任何东西开放新风流。

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

回答

1

这里是解决方案。

如果您的链接等于基本网址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; 

      } 

     }); 

但是当你点击web视图中你的链接你永远不会被解雇shouldOverrideUrlLoadingonPageStarted只有onPageFinished你BASE_URL。

所以我的独奏是用于基地址的另一个域名,没有www前缀。

这里举例如果你的域名www.example.com使用基址url example.com

相关问题