2014-01-16 19 views
0

我正在開發一個html網頁,用於在webview中的android/ios/windows phone應用中顯示。mailto:和tel:在android webbrowser

我有這樣的環節:與郵寄地址相同:「[email protected]

在iOS系統工作正常,也是在瀏覽器,Firefox ...但在網頁視圖在Android的網頁瀏覽器將其檢測爲正常的鏈接,並顯示一個不存在的網頁(這個URL不能找到bla bla bla)

有沒有辦法避免這種情況在android?或者我應該在javascript中檢測瀏覽器並加載href或不?

我發現它是javascript: var browser = navigator.appName;

但我讀到這不是一個好的做法。

回答

1

禁用自動Linkify網頁視圖

的有一種方法可以做到這一點 - 比較難看,兩層的,但仍然是一個解決辦法。

你應該

  1. 修改的WebView將如何處理自動linkifiable項目
  2. 明確地告訴加載的頁面不適用的款式和觸覺反饋

    mWebView.setWebViewClient(new WebViewClient() { 
    
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, final String url) { 
        Uri uri = Uri.parse(url); 
    
    if (url.startsWith("http:") || url.startsWith("https:")) { 
        return false; 
    } 
        //TODO analyse the uri here 
        //and exclude phone and email from triggering any action 
    
        return false; 
    } 
    
    public void onReceivedError(WebView view, int errorCode, 
                 String description, String failingUrl) {} 
    
    public void onPageFinished (WebView view, String url) {...} 
    
    public void onPageStarted(WebView view, String url, Bitmap favicon) {...} 
    
    public void onLoadResource(WebView view, String url) {...} 
    }); 
    

在html指定標籤內的以下元標記:

<meta name="format-detection" content="telephone=no" /> 
<meta name="format-detection" content="email=no" /> 

希望這會有所幫助。

+0

感謝發佈。直到幾個小時我都無法測試它。通過這樣做,所有鏈接將被禁用或只是這對夫婦? – Biribu

+0

@Biribu看到我的更新 –

+0

我認爲你的代碼有錯誤。在第一個else,如果它需要一個if第一個。你能檢查它嗎? – Biribu

相關問題