2015-07-30 11 views
24

Wygląda na to, że przeglądarka krawędziowa systemu Windows 10 wykrywa numery telefonów, nawet jeśli w systemie nie ma zainstalowanej aplikacji telefonicznej.Oswajanie automatycznych numerów telefonicznych w przeglądarce Windows 10 krawędzi

Formatuje numer telefonu na niebiesko z podkreśleniem, nawet jeśli znajduje się w zwykłym tekście (brzydki w niektórych środowiskach), a ponadto wykrywa np. Numery VAT tak, jakby były numerami telefonów.

Więc jak możemy kontrolować go jako webmasterom:

  • jak to czyni wykrytej rzeczy (przypuszczam MSFT wynalazł swój własny selektor CSS dla tej rzeczy?)

  • Jak mamy wyłączyć wykrywanie:

Najlepiej z czymś, co celuje tylko w tę przeglądarkę i nie ryzykuje zmyślania rzeczy dla innych lub dodawania niestandardowych rzeczy w przeciwnym razie prawidłowy kod.

EDIT:

  • Sugerowany sposób, aby włączyć wykrywanie wyłączone na podstawie sposobu, w jaki odbywa się w IE11 dla Windows Mobile nie działa we wszystkich moich testów. Meta tag kończy się niepowodzeniem i wydaje się, że niestandardowy atrybut html działa.

  • Spojrzałem na przedmiot inspekcji i wydaje mi się, że obliczony CSS dla wykrytych elementów jest tym, co można by się tam spodziewać, gdyby nie został wykryty (tj. Obliczony CSS jest normalnym kolorem i bez podkreślenia), co sugeruje niewielkie prawdopodobieństwo kontrolowania sposobu renderowania.

EDIT:

Test case 1: tag (nie)

<!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>

test case 2: niestandardowy atrybut html (prace)

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
 
    <head> 
 
    <meta charset="UTF-8" /> 
 
    </head> 
 
    <body> 
 
    <p x-ms-format-detection="none">text VAT BE 0123.456.789 text </p> 
 
    <p>text +32 11 222 333 text</p> 
 
    </body> 
 
</html>

+0

Sprawdziłem dzisiaj - meta działa w Edge na komputer (Windows 10 build 15063) – Kitet

Odpowiedz

24

Podobno wykrywanie numerów telefonów zostało wprowadzone w programie Internet Explorer 11, ale nie na komputerach.

Oto sposoby, aby ją kontrolować, zrobiono z tego artykułu MS: Phone number format recognition

  • Aby wyłączyć zachowanie dla elementu (i jego elementy podrzędne), ustawić atrybut x-ms-format-detection „Brak”.
  • Aby wyłączyć zachowanie na stronie internetowej, należy użyć meta element:

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

  • aby umożliwić zachowanie dla elementu (i jego elementy podrzędne), należy ustawić atrybut "x-ms-format-detection telefon "lub" wszystkie ".

  • Aby selektywnie kontrolować zachowanie za pomocą JavaScript, użyj setAttribute, aby zmienić wartość atrybutu x-ms-format-detection elementu stowarzyszonego lub jego obiektu nadrzędnego. (Należy pamiętać, że musi to być zrobione przed elementem lub rodzic jest renderowany w DOM; dynamiczne zmiany nie są obsługiwane.)

Jeśli rozumiem tego artykułu prawidłowo, jeśli wykrywanie telefon jest wyłączony na poziomie przeglądarki , atrybut x-ms-format-detection (lub metatag) zostanie zignorowany.

+0

Dzięki, przetestuję to później. FWIW: wciąż szukam sposobu kontrolowania sposobu renderowania wykrytych obiektów (widzę pewną wartość pozwalającą telefonom wykrywać numery telefonów (są to telefony ...) – swa66

+0

Nie działa co najmniej na krawędzi. Może działać w IE11 na Windows Phone, ale nie mam telefonu Windows – swa66

+0

Masz na myśli 'x-ms-format-detection =" none "' nie działa w Edge? Działa to dla mnie, ale użyłem Windows Insit Preview, prawdopodobnie jest inny od rzeczywistego Win 10. – jfrej

4

Praca dla mnie przy użyciu x-ms-format-detection="none". Jednak musiałem dodać go do elementu nadrzędnego.

Na przykład mój numer telefonu został zawinięty w klasie zakresu, więc musiałem dodać go do div rodziców powyżej. Dodanie bezpośrednio do tagu span nie rozwiązało dla mnie problemu.

nadzieję, że pomoże

+0

Dzięki, byłem (am) h w nadziei na coś, co nie zanieczyszcza (x) html niestandardowymi atrybutami - esp. ponieważ są one przeznaczone do prezentacji. – swa66

1

Znalazłem sposób, który pracuje dla mnie idealny, a składają się na zmianę tag gdzie masz numer przez „A” (kotwica) zamiast jednego może mieć bez potrzeby href. Następnie ustaw dla tekstu opcję niedostateczną, a kolor dziedzicz. To wszystko.

0

Jeśli dodasz x-ms-format-detection = "none" do znacznika body, zostanie ono zastosowane do całej strony.

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

Dzięki, ale jak powiedziałem wcześniej, chciałbym coś, co nie wiąże się z dodaniem niestandardowych atrybutów do html (szczególnie, że niektóre z nich są podawane jako xhtml). – swa66

Powiązane problemy