Подтвердить что ты не робот

Укрощение объекта автоматического телефонного номера в окне 10-кратного браузера

Краткий браузер Windows 10, похоже, обнаруживает номера телефонов, даже если в системе нет приложения для телефона.

Он форматирует телефонный номер синим цветом с подчеркиванием, даже если он просто в обычном тексте где-то (уродливый на некоторых фонах), более того, он обнаруживает, например, Номера НДС, как если бы они были номерами телефонов.

Итак, как мы контролируем его как веб-мастера для:

  • как он отображает обнаруженный материал (я полагаю, MSFT изобрел свой собственный CSS-селектор для этого материала?)

  • как отключить обнаружение

Желательно, чтобы что-то просто предназначалось для этого браузера, а не рисковало запутывать вещи для других или добавлять нестандартные вещи в действующий в противном случае код.

EDIT:

  • Предлагаемый способ отключить обнаружение в соответствии с тем, как это делается в IE11 для телефонов Windows, не работает во всех моих тестах. Метатег не работает, и нестандартный атрибут html работает.

  • Я посмотрел на предмет проверки в краю, и мне кажется, что вычисляемый CSS для обнаруженных элементов - это то, что можно было бы увидеть там, если оно не было обнаружено (т.е. вычисленный CSS является обычным цветом и без подчеркивания), что указывает на мало шансов контролировать, как это делается.

EDIT:

тестовый пример 1: метатег (сбой)

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <!-- test -->
    <meta name="format-detection" content="telephone=no" />
  </head>
  <body>
    <p>text VAT BE 0123.456.789 text </p>
    <p>text +32 11 222 333 text</p>
  </body>
</html>
4b9b3361

Ответ 1

По-видимому, обнаружение номера телефона было введено в Internet Explorer 11, но не на рабочих столах.

Вот способы управления им, взятые из этой статьи MS: распознавание номера телефона

  • Чтобы отключить поведение элемента (и его дочерних элементов), установите для атрибута x-ms-format-detection значение "none".
  • Чтобы отключить поведение веб-страницы, используйте мета-элемент:

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

  • Чтобы включить поведение элемента (и его дочерних элементов), установите для атрибута x-ms-format-detection значение "телефон" или "все".

  • Чтобы выборочно управлять поведением с использованием JavaScript, используйте setAttribute, чтобы изменить значение атрибута x-ms-format-detection ассоциированного элемента или его родителя. (Обратите внимание, что это нужно сделать до того, как элемент или родитель будет отображаться в DOM, динамические изменения не поддерживаются.)

Если я правильно понимаю статью, если обнаружение телефона отключено на уровне браузера, атрибут x-ms-format-detection (или метатег) будет проигнорирован.

Ответ 2

Использование x-ms-format-detection="none" работало для меня. Однако мне пришлось добавить его к родительскому элементу.

Например, мой номер телефона был заключен в класс span, поэтому мне пришлось добавить его в родительский div выше. Добавление непосредственно к тегу span не помогло мне решить проблему.

Надеюсь, что поможет

Ответ 3

Я нашел способ, который отлично подходит для меня, и он состоит в изменении тега, в котором у вас есть номер с помощью "a" (якорь), а не с любым из них, без необходимости href. Затем установите для text-underline значение none и color для наследования. Это все.

Ответ 4

Если вы добавите x-ms-format-detect = "none" в тег body, он будет применен ко всей странице.

<body x-ms-format-detection="none">