2010-08-10 12 views
16

Jeśli zainstalowany jest Skype, w niektórych przeglądarkach wyświetlane są numery telefonów z ikoną Skype.Jak mogę usunąć rozpoznawanie numeru Skype?

Nie chcę pokazywać ikon Skype w dowolnym miejscu.

Czy istnieje jakaś funkcja JavaScript lub PHP, która może sobie z tym poradzić?

+0

Być może rozważ zmianę proponowanej odpowiedzi na krisdyson zamiast Jigara (która ma negatywne głosy). Zauważ, że odpowiedź hans jest delikatna dla przyszłych zmian i nie zapobiega zmianom DOM. – robocat

Odpowiedz

-3

na numer telefonu przeglądarki są wyświetlane z ikoną skype

No nie są. Niektóre przeglądarki mogą mieć do tego specyficzną funkcjonalność. Alternatywnie może to być realizowane przez stronę obsługującą stronę. W przypadku tego pierwszego, musielibyście zapewnić detilację, której przeglądarka - i prawdopodobnie nie można jej kontrolować z poziomu serwera.

C.

0

Odinstaluj Skype i sprawdź, czy się zmienia.

Skype zwykle współpracuje z przeglądarką i dodaje własne formatowanie numerów telefonów.

1

To jest wtyczka do przeglądarki Skype. Po zainstalowaniu oprogramowania skype, automatycznie dodaje tę wtyczkę do firefox i IE AFAIK.

Wystarczy usunąć wtyczkę lub oprogramowanie i jesteś gotowy do pracy. W każdym razie użytkownicy Twojej strony mogą mieć zainstalowane oprogramowanie.

+0

Tak, też to robię - nienawidzę tego. –

23

Poniższa CSS, aby zapobiec skype z formatowania liczb na swojej stronie:

span.skype_pnh_container {display:none !important;} 
span.skype_pnh_print_container {display:inline !important;} 

edit Skype rozpoczyna dodawanie liczb w nazwach klasy, aby uczynić je wyjątkowa. można rozwiązać poprzez zastosowanie nowych selektorów CSS

span.skype_pnh_container {display:none !important;} 
span.skype_pnh_print_container, span[class^="skype_pnh_print_container"] {display:inline !important;} 
+2

Idealnie sprawdziło się dla mnie. To powinna być prawdziwa poprawna odpowiedź. – Middletone

+0

tl; dr: ta odpowiedź jest słaba: wtyczka typu "kliknij, aby połączyć" nadal modyfikuje DOM, wstawiając przęsła, które mogą mieć efekty uboczne na selektorach CSS i $().Funkcjonalność "kliknij, aby połączyć" nadal będzie działać (czego zdecydowanie nie chcemy w naszej sytuacji, ponieważ wykrywa kody miejsc powstawania kosztów jako numery telefonów - arrgh). Również używanie CSS jest niestabilne - twoja poprawka się zepsuje, jeśli w przyszłości zmieni wtyczkę. – robocat

+0

To nie pomogło przeglądarce Opera Mobile, która sprawia, że ​​niektóre cyfry są niebieskie i klikalne, np. "123.45". –

20

Dodaj

<meta name="SKYPE_TOOLBAR" content ="SKYPE_TOOLBAR_PARSER_COMPATIBLE"/> 
+1

Tylko to działa poprawnie. Dalsze wyjaśnienie http://webmasters.stackexchange.com/questions/34862/what-is-the-skype-toolbar-meta –

+0

Właśnie przetestowałem, że używając '' nadal wyłącza podświetlanie numeru telefonu "kliknij, aby połączyć" Skype. Zainstalowałem Skype Click To Call i włączyłem wtyczkę w IE11. Strona testowa z numerami telefonów w niej i bez metatagu, teraz ma zmodyfikowane elementy numeru telefonu (np. Nadrzędny zakres jest wstawiany z 'onclick =" SkypeClick2Call.MenuInjectionHandler.makeCall (this, event) "'). Dodałem metatag do mojej strony głównej, a numery telefonów nie są już modyfikowane (nie było również obiektu window.SkypeClick2Call wstrzykniętego). – robocat

+0

tl; dr: ta odpowiedź działa dobrze – robocat

5

Po wyszukaniu w Google Odpowiedź na to wydaje się, że problem nie ustępuje w miarę zbliżania się roku 2012. Widocznie <meta> Tag już nie działa, a wtyczka Skype jest tak samo inwazyjna jak zawsze - niszcząc kody SKU i numery części w niektórych przypadkach (błędnie interpretując je jako numery telefonów).

Byłem zaskoczony widząc, że tak wielu ludzi błędnie rozumie chęć wyłączenia tego z punktu widzenia programisty internetowego i oferuje rozwiązania umożliwiające jego wyłączenie poprzez zmianę ustawień przeglądarki i tym podobne. Oczywiście nie możemy oczekiwać, że nasi użytkownicy to zrobią.

Skype weźmie coś takiego:

555-555-5555 

i przekształcić go w ten sposób:

<span class="skype_pnh_print_container"> 
    555-555-5555 
</span> 
<span class="skype_pnh_container" dir="ltr"> 
    <span class="skype_pnh_mark"> begin_of_the_skype_highlighting</span> 
     <span class="skype_pnh_highlighting_inactive_common" title="Call this phone number in United States of America with Skype: +15555555555" dir="ltr"> 
      <span class="skype_pnh_textarea_span"><span class="skype_pnh_text_span">555-555-5555</span> 
      </span> 
     </span> 
    <span class="skype_pnh_mark">end_of_the_skype_highlighting</span> 
</span> 

który wygląda tak: Skype clickable phone number

Kopiowanie i wklejanie numer telefonu Skype'd w postaci tekstu sformatowanego (jak w e-mailu, dokumencie WYSIWYG lub Word) może skończyć się coś takiego:

begin_of_the_skype_highlighting 555-555-5555 end_of_the_skype_highlighting 

Okropny, i nie ma jednoznacznego sposobu, aby temu zapobiec. only way I found, aby poradzić sobie z tym włamaniem, jest usunięcie znaczników za pomocą javascript.

przykład przy użyciu jQuery:

window.setTimeout(function() { 

    // Remove the class from the wrapper <span> Skype adds to the number 
    $('.skype_pnh_print_container').removeClass('skype_pnh_print_container'); 

    // Remove the generated content from Skype 
    $('.skype_pnh_container').remove(); 

}, 100); // If it doesn't work, set a higher value 

Dostaniesz błysk brzydoty pierwszy, ale setTimeout jest konieczne, ponieważ zawartość jest generowana Skype zaraz po załadowaniu strony.

+0

+1 za naprawdę odpowiedź na pytanie. Szkoda, że ​​rozwiązanie jest tak brzydkie. –

+1

Niektórzy nowi klienci zmienili nazwę klasy. Oprócz doskonałej odpowiedzi powyżej, będziesz chciał dodać: \t $ ('. Skype_c2c_print_container'). RemoveClass ('skype_c2c_print_container'); $ ('. Skype_c2c_container'). Remove(); Do skryptu. – c0d3p03t

2

Próbowałem (Aktualizacja) css jak sugeruje Hans, ale to nie działa w najnowszej wersji Chrome (17.0.963.78 m)

Wydaje wtyczki skype zmieniła się ponownie jako kodu wygenerowanego przez skype (w mojej wersji Chrome) różni się od tego przedstawionego przez Madmartigan

próbowałem oddanie komentarz w środku mój numer telefonu:

np

555<!--stop skype -->-555-5555 

I to wydaje się działać. tj. zatrzymuje Skype rozpoznając go jako numer telefonu. Jedyne, czego nie jestem pewien, to jak wpływa na wyszukiwanie przez Google numeru telefonu.

I nie uruchomić stronę za pomocą symulatora bot:

http://www.xml-sitemaps.com/se-bot-simulator.html

i komentarz nie pojawił się, więc mam nadzieję, że nie wpłynie wyszukiwania Google.

CSS byłby najlepszym rozwiązaniem dla mnie, ale jest zbyt dużym ruchomym celem, więc wolę podejście "komentarz" do javascript, ale domyślam się, że różne podejścia są łatwiejsze w różnych przypadkach.

edit

OK jeść moje słowa. Skype jest dość sprytny. Jeśli Twój numer telefonu jest poprzedzony słowami "zadzwoń do nas" zamiast "telefonu", z którego początkowo testowałem, to dodanie komentarza do numeru nie działa.

Próbowałem innego podejścia, które polega na użyciu miękkiego łącznika np.

555&shy;-555-5555 

i działało.

+0

To działa, jedynym problemem z tym podejściem jest to, że uniemożliwi to wykrycie numerów telefonicznych również w telefonach komórkowych. Tak więc, niestety, twórcy stron internetowych są przetrzymywani jako zakładnicy przez jakiegoś programistę idiotyzmu z Skype/Microsoft, który miał moronalną ideę zmieniania html na stronie z brzydką monstrualnością, którą są klikalne numery. Morons. – c0d3p03t

+2

możesz zawinąć swój numer telefonu za pomocą polecenia "tel:", aby umożliwić jego klikanie w telefonach komórkowych, np. 555­ 555-5555 Nat

1

nie wiem o wszelkich PHP lub kodu JavaScript, który można usunąć Skype ikony z numerami telefonów: ale istnieje kilka sposobów, które można zatrzymać Skype z zaznaczania (czyli usunąć ikonę skype) Numery telefonów:

z punktu widzenia programistów można:

  1. Korzystanie HTML: Miękka Hyphen
  2. Zastosowanie CSS
  3. Albo użyć Meta Tag

Z punktu widzenia użytkownika, użytkownik może:

  1. Wyłącz lub odinstaluj skype add-on z przeglądarki. (Patrz comment)

Aby uzyskać więcej informacji sprawdź odniesienie: How To Prevent Skype from Highlighting Phone Numbers

+0

Witamy w przepełnieniu stosu! Podczas gdy link może teoretycznie odpowiedzieć na pytanie, powinieneś [uwzględnić istotne części odpowiedzi tutaj] (http://meta.stackexchange.com/q/8259) i podać link do referencji (jak zrobiłeś po edycji). Oryginalna odpowiedź po prostu miała link, dlatego została usunięta. – NullUserException

0

Oto kroki trzeba zaimplementować w kodzie.

Krok 1: dodać tag meta i styl do głowy widoku

<head>

<meta name="SKYPE_TOOLBAR" content ="SKYPE_TOOLBAR_PARSER_COMPATIBLE"/>

<style>

span.skype_pnh_container {display:none !important;} span.skype_pnh_print_container {display:inline !important;}

</style>

</head>

Krok 2: owinąć swoje numery wewnątrz <span> jak:

<span>123-</span><span>123-1234</span>

Ten pracował dla mnie. :)

-2

Nie potrzeba niczego skomplikowanego, wystarczy przejść do przeglądarce -> Opcje internetowe -> Programy -> Zarządzaj dodatkami online Skype, kliknij na zadzwonić, a następnie go wyłączyć.

To wszystko!

+0

To jest StackOverflow, strona programowania. Pytanie jest zadawane z perspektywy kogoś, kto pisze stronę, a nie działa w przeglądarce. – Quentin

+0

Więc spodziewasz się, że każdy internauci poradzą sobie z tym przed załadowaniem swojej witryny? Łał. – ggdx

Powiązane problemy