2013-03-29 53 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

相關問題