Если Skype установлен, в некоторых браузерах отображаются номера телефонов со значком Skype.
Я не хочу показывать значки Skype нигде, никогда.
Есть ли какая-нибудь функция JavaScript или PHP, которая может справиться с этим?
Используйте следующий CSS, чтобы предотвратить skype от форматирования чисел на вашей странице:
span.skype_pnh_container {display:none !important;} span.skype_pnh_print_container {display:inline !important;}
Skype начинает добавлять числа в именах классов, чтобы сделать их уникальными. Вы можете решить с помощью новых селекторов Css
span.skype_pnh_container {display:none !important;} span.skype_pnh_print_container, span[class^="skype_pnh_print_container"] {display:inline !important;}
Добавь это
<meta name="SKYPE_TOOLBAR" content ="SKYPE_TOOLBAR_PARSER_COMPATIBLE"/>
После поиска Google для ответа на этот вопрос кажется, что проблема по-прежнему сохраняется, когда мы приближаемся к 2012 году. Очевидно, что <meta>
больше не работает, а плагин Skype так же навязчив, как и когда-либо – разрушает SKU и номера частей в некоторых случаях (неверно интерпретируя их как номера телефонов).
Я был удивлен, увидев, что многие люди неправильно понимают желание отключить это с точки зрения веб-разработчика и предлагают решения, чтобы отключить его, изменив настройки браузера и т. П. Конечно, мы не можем ожидать от наших пользователей этого.
Skype возьмет что-то вроде этого:
555-555-5555
И превратите это в это:
<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>
Это выглядит так:
Копирование и вставка номера Skype'd в расширенном тексте (например, в письме, документе WYSIWYG или Word) может закончиться следующим:
begin_of_the_skype_highlighting 555-555-5555 end_of_the_skype_highlighting
Ужасно, и нет окончательного способа предотвратить это. Единственный способ, с помощью которого я столкнулся с этим вторжением, – удалить разметку с помощью javascript.
Пример использования 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
Сначала вы получите вспышку уродства, но setTimeout
необходимо, потому что контент Skype генерируется сразу после загрузки страницы.
Я попробовал (обновленный) css, как предложил hans, но он не работает в последней версии Chrome (17.0.963.78 м)
Кажется, плагин skype снова изменился, поскольку код, созданный skype (в моей версии Chrome), отличается от кода, показанного Madmartigan
Я попытался поставить комментарий в середине моего номера телефона:
например:
555<!--stop skype -->-555-5555
И это, похоже, работает. т.е. он останавливает скайп, распознавая его как номер телефона. Единственное, что я не уверен в том, как это влияет на поиск в Google номера телефона.
Я запустил страницу через симулятор бота:
http://www.xml-sitemaps.com/se-bot-simulator.html
и комментарий не появился, поэтому я надеюсь, что это не повлияет на поиск Google.
CSS был бы лучшим решением для меня, но это слишком большая движущаяся цель, поэтому я предпочитаю подход «комментариев» к javascript, но, я думаю, в разных случаях проще использовать разные подходы.
редактировать
Хорошо, есть мои слова. Skype довольно умный. Если ваш номер телефона имеет префикс слов «назовите нас», а не «телефон», с которым я сначала тестировал, добавление комментария внутри номера не работает.
Я попробовал другой подход, который должен использовать мягкий дефис, например
555­-555-5555
и это сработало.
Это плагин skype вашего браузера. Когда вы устанавливаете программное обеспечение skype, он автоматически добавляет этот плагин для firefox и IE AFAIK.
Просто удалите плагин или программное обеспечение, и вы хорошо пойдете. В любом случае, посетители вашего сайта могут иметь установленное программное обеспечение.
Я не знаю ни одного кода PHP или JavaScript, который может удалять значки Skype из телефонных номеров. Но есть несколько способов, которыми вы можете остановить Skype от выделения (например, удалить значок Skype):
С точки зрения разработчиков вы можете:
С точки зрения пользователя пользователь может:
Для получения дополнительной информации обратитесь к ссылке: Как предотвратить Skype от выделения телефонных номеров
Удалите Skype и проверьте, не изменилось ли оно.
Skype обычно взаимодействует с вашим браузером и добавляет собственное форматирование для телефонных номеров.
Вот шаги, которые необходимо выполнить в коде.
Шаг 1: добавьте метатег и стиль в свою страницу
<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>
Шаг 2: заверните свои номера внутри <span>
как:
<span>123-</span><span>123-1234</span>
Это сработало для меня. 🙂
Не нужно ничего сложного, просто зайдите в свой браузер -> параметры интернета -> Программы -> Управление надстройками , найти Skype, щелкнуть по вызову , а затем отключить его.
Это оно!
на номер телефона браузера отображаются с значком skype
Нет, они не. Для некоторых браузеров может быть определенная функциональность. В качестве альтернативы он может быть реализован на сайте, обслуживающем страницу. В случае с первым вам нужно будет указать параметры, из которых браузер, и, вероятно, не контролируется с сервера.
C.