2014-01-16 3 views
0

Я разрабатываю html-страницу для показа в приложении Android and iOS/windows phone в веб-просмотре.mailto: и tel: in android webbrowser

У меня есть этот вид ссылок: и то же самое с электронной почтой: «[email protected]»

В ИОС работает отлично, а также в Chrome, Firefox ... Но в WebBrowser webviews'S в андроиде определяет его как (ссылка не найдена bla bla bla)

Есть ли способ избежать этого в андроиде? или я должен обнаружить браузер в javascript и загрузить href или нет?

Я нашел это для javascript: var browser = navigator.appName;

Но я читал, что это не очень хорошая практика.

ответ

1

Отключить автоматическую Linkify из WebView

Существует способ сделать это - довольно некрасиво, две слоистые, но все-таки обходной путь.

Вы должны

  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

Я думаю, что в вашем коде есть ошибка. в первом случае if, ему нужно, если сначала. Вы можете проверить это? – Biribu

Смежные вопросы