Предотвращение автоматического связывания электронных писем и URL-адресов в Android WebView - PullRequest
5 голосов
/ 06 июля 2010

У меня есть WebView, который может содержать данные, которые, по-видимому, получают «автоматическую связь». Что-то, похожее на адрес электронной почты, становится кликабельным, хотя теперь оно внутри тега <a> или имеет атрибут onclick. Как отключить эту автоматическую ссылку?

Я просматривал WebView документы, а также WebSettings документы, но, похоже, не видел ничего такого, что упоминало бы это поведение.

альтернативный текст http://beautifulpixel.com/assets/5554_Fast-20100706-110228.png

Ответы [ 5 ]

5 голосов
/ 22 февраля 2012

Я знаю, что это немного поздно, но для дальнейшего использования это может быть решение, которое будет работать независимо от того, будут ли ссылки автоматически созданы или определены в теге <a>.

myWebView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // return true; // will disable all links

        // disable phone and email links
        if(url.startsWith("mailto") || url.startsWith("tel")) {
            return true;
        }

        // leave the decision to the webview
        return false;
    }
});
2 голосов
/ 16 мая 2012

Чтобы сделать все адреса электронной почты, добавьте метатег:

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

Вы также можете отключить обнаружение физического адреса и телефона:

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

ВОднако в моем собственном приложении мне нужно было решение доктора философии , чтобы предотвратить привязку только одного электронного письма.

1 голос
/ 30 января 2012

У меня была такая же проблема, попробовал это:

<a onClick=\"return false;\">jorgesys@elnorte.com</a>

это не сработало.

Затем попробовал это:

<a href='javascript:void(0);'>800-644-9737</a>

, и он добился цели

0 голосов
/ 07 июля 2010

Привет. Понимаете, почему вы хотите исключить эту функциональность из веб-просмотра, но весьма хитроумно было бы добавить onClick="return false;" в тег привязки, содержащий электронную почту или URL.

<a onClick=\"return false;\">jorgesys@elnorte.com</a>
0 голосов
/ 06 июля 2010

Кажется, что это неизменяемая функциональность WebView.

Вы можете сделать обратное этому Есть ли какой-либо способ иметь URL-адреса и телефонные номера автоматической ссылки WebView в Android? исоздайте инструмент для удаления ссылок javascript (вместо предложенного там инжектора ссылок).

Не уверен, что еще подойдет для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...