Видаліть стиль телефонного номера Microsoft Edge


95

Я помітив, що новий браузер Microsoft Edge замінює мої стилі, коли виявляє телефонні номери:

<span class="phone">(123)123-1234</span>

Дивіться цей jsfiddle (його потрібно відкрити за допомогою Microsoft Edge: P).

Цей тип втручається у дизайн веб-сайту і досить неприємний. Звичайно, це здається рисою наступника IE: /

Як я можу замінити або вимкнути це, щоб користувачі мого веб-сайту не бачили цього?


Сподіваюся, насправді це не викликано шкідливим програмним забезпеченням ...
karns

Перевірте доповнення (не мають Edge), але деякі доповнення спричинили таку поведінку в IE-s ...
sinisake

7
Я щойно сьогодні прокоментував це у Twitter: mobile.twitter.com/scunliffe/status/631484565492625409, принаймні, наскільки я бачу на сьогодні, поки Microsoft не скасує це невдале рішення, яке потрібно буде додати <meta name="format-detection" content="telephone=no"/>на кожну сторінку, яку потрібно позбутися це. :-(
scunliffe

1
Він також застосовується до чисел / довготи, таких як 145.1231321
behelit

1
Також виділені числові формати змінюються залежно від налаштувань регіону ("Домашнє розташування") ПК користувача, тож це вплине на всіх користувачів по-різному! Це означає, що під час тестування ваших сторінок ваші кінцеві користувачі можуть насправді побачити щось інше, незважаючи на використання одного браузера: docs.microsoft.com/en-us/previous-versions/windows/…
SharpC,

Відповіді:


171

Ви можете позбутися цього, додавши цей мета-тег у заголовок своїх сторінок.

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

Документація корпорації Майкрософт щодо цього тегу .

Сподіваємось, буде кращий спосіб вимкнути це глобально, не здуваючи сторінки ... Або ще краще вимкнути цю функцію за замовчуванням.


Хороша відповідь! Чи можете ви додати посилання на документи щодо цього, будь ласка?
karns

8
Дурний дизайн. Якщо хтось хотів би це зробити. Принаймні, ви можете дозволити такий атрибут, як "detect-phone = true", зробити його необов'язковим, оскільки іноді немає необхідності дозволяти вашому веб-додатку робити це, якщо це теж не призначено ...
Мігель

59

Якщо ви не хочете вимикати цілу сторінку, як передбачає обрана відповідь, ви можете додати наступний атрибут до певного тегу

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

Посилання: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn265018(v=vs.85)#controlling-phone-number-detection


9
Я знаю, що це трохи стара відповідь, але для тих, хто шукає це: мені довелося додати це до батьківського тегу (наприклад, <div>, що є кроком від ярлика або того, що ви використовуєте для відображення телефону номер).
Дортімер

+1 як до відповіді, так і до коментаря Дебазертрона. Далі щодо коментаря, здається, він повинен бути батьківським на рівні блоку - я спробував з інтервалом, що не спрацювало, але div було добре.
Масала,

31

Наведена вище відповідь працює чудово, але відключає можливість телефонувати за номером телефону (що є головною проблемою, якщо ви створюєте адаптивний сайт). Я знайшов кращу роботу, щоб зробити номер телефону посиланням. Приклад:

<a href="tel:888-888-8888">(888) 888-8888</a>

Тоді це дозволить вам стилізувати "посилання" як завгодно, а стилі "a" у вашому CSS замінюють стилі Edge та iPhone на телефонному номері. Єдина проблема в тому, що телефонний номер робить посиланням для всіх пристроїв, але я виявив, що це не проблема, оскільки майже на кожному пристрої є якась функція або додаток для дзвінка.


1
Найкращий підхід в моїх очах!
conceptdeluxe

Хоча питання полягає в тому, "як вимкнути", я мав би погодитися, що це буде кращою відповіддю, якщо ви намагаєтеся створити адаптивний сайт з урахуванням використання мобільного телефону.
JStevens

3

Я зіткнувся з цією проблемою, але з дещо іншим варіантом використання: номер, який він виділяє, не є номером телефону, тому я не хочу особливого форматування.

Наприклад, у вас може бути щось на зразок:

<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

Для мене * Edge конвертує 08 2017 10 на посилання на номер телефону. Дякую, Краю!

Я виявив, що ви можете обійти це, вставивши невидимий inline-blockелемент у середину рядка:

.notel{
  display:inline-block;
  height:0px;
  width:0px;
}
<span class="phone">(763)219-5222</span>
<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

<br>
<span class="phone">(763)2<span class="notel"></span>19-5222</span>
<div>The current date/time: May 08 2<span class="notel"></span>017 10:44:58 GMT Daylight Time</div>

Я не можу зрозуміти, чи це працює для вашого номера телефону, оскільки я не бачу виділення в обох випадках. Можливо, вам доведеться підштовхнути позиціонування прольоту.

До речі, той факт, що ви можете це зробити, є однією з багатьох причин, чому ви не повинні копіювати команди з веб-сторінок та у свій термінал:

span{
display:inline-block;
height: 0px;
width: 0px;
overflow:hidden;
}
textarea{
  width: 300px;
  height:50px;
}
<div>echo "HELLO" <span>&& wreck this machine</span></div><div>echo "WORLD"</div>

<textarea ></textarea>
<div>
Select, copy and paste above commands into the textarea.
</div>

* Я думаю, що виділення номерів Edge є регіональним. Ваш jsfiddle для мене не виділений, але я перебуваю у Великобританії. Ось, здається, виділяють цифри, які починаються з 0.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.