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

Как запретить преобразовывать номера телефонов в ссылки Skype?

На тех машинах Windows, где установлен Skype, он конвертирует все телефонные номера в Skype, поэтому вы можете щелкнуть по ним чтобы позвонить в Skype.

Вопрос в том, как вы предотвратите это для определенного номера на странице?

4b9b3361

Ответ 1

Попробуйте не выводить числа в виде одного фрагмента текста. Вместо

<span>888-555-1212</span>

попробовать

<span>888-</span><span>555-1212</span>

и он отключит скайп

Ответ 2

Обновление

Этот ответ более не точен - см. Даниэль Бирн для получения дополнительной информации.


Используя только CSS, его можно удалить, переопределив стили, используемые Skype. Попробуйте добавить эти две строки в таблицу стилей:

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

Ответ 3

Skype предпринял попытку добавить произвольно сгенерированную строку чисел в конец своего тега span, поэтому вышеупомянутый ответ от Groo не совсем точен. Чтобы правильно выбрать все теги Skype на странице, используйте селекторы шаблонов CSS3, например:

span[class^='skype_pnh_container'] {display:none !important;}
span[class^='skype_pnh_print_container'] {display:inline !important;}

Оператор ^= вызывает селектор атрибутов для элементов mach, которые имеют класс, содержащий значение, которое начинается с "skype_pnh_container" и "skype_pnh_print_container"

Ответ 4

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

Ответ 5

Официальным решением является добавление следующего метатега в раздел заголовка вашей веб-страницы. Это предотвратит скайп при переформатировании по номерам телефонов.

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

Ответ 6

EDIT: Извините, я только что обнаружил, что IE9 имеет проблемы с этим решением, поскольку он не поддерживает мягкие дефисы.

Существует альтернативное решение этой проблемы:

Вы можете использовать символ софт-дефис (&shy;) внутри номера телефона, чтобы решить проблему. Например, учитывая число

<span>0664 111 222 3</span>

измените на

<span>0664&shy; 111 222 3</span>

и будьте счастливы:)

Ответ 7

Я просто обнаружил, что если вы используете новый протокол HTML5 tel, он блокирует появление нежелательной почты Skype:

<a href="tel:+18001234567">1 800 123 4567</a>

Ответ 8

Я видел в interweb множество возможных решений javascript-решений, мета-тегов, css и, возможно, я нашел хак, который действительно работал на моих сайтах, я тестировал на некоторых компьютерах, и он работает, и я думаю, что он будет работать до тех пор, пока skype don ' t что-то изменит в их коде.

Я смотрел, что скайп делает именно на наших страницах, и он создает некоторый диапазон вокруг телефонных номеров, как вы уже сказали, но даже добавляет тег в конце документа сразу после закрытия тега тела,

И вот я увидел трюк! Перед этим объектом есть тег конфигурации:

<span id="skype_highlighting_settings" display="none" autoextractnumbers="1"></span>

Динамически добавляется плагин! но здесь решение становится очевидным, чтобы завершить stop skype messing с вашим дизайном и избежать изменения номера телефона, решение заключается в том, чтобы вставить в начале документа следующий тег:

<span id="skype_highlighting_settings" display="none" autoextractnumbers="0"></span>

обратите внимание на autoextractnumbers = "0", вот трюк. Документ не будет проверять в любом случае с этим тегом, потому что нет атрибута "autoextractnumbers", но я заметил, что он работает, даже если прокомментирован:

<!-- <span id="skype_highlighting_settings" display="none" autoextractnumbers="0"></span> -->

И это! Наслаждайтесь своими веб-страницами, свободными от грязных плагинов! И ваша веб-страница будет корректно проверяться. Надеюсь, это сработает и для вас! Я тестировал на нескольких компьютерах 3 разных браузера и 2 разных версии скайпа, пока это работает для меня, дайте мне знать, если он сработает для вас, и если он работает, поделитесь им:)

Ответ 9

Попробуйте это. Он заменяет пробелы в номере телефона невидимым диапазоном + исходное пространство char. Так что скайп не может понять, что это число, и наш любимый номер телефона остается прежним:) Мне пришлось использовать этот подход, так как я обычно позволяю администратору контента изменять номера телефонов по своему желанию, поэтому я не смог бы использовать жесткий код в javascript. Конечно, ваша разметка должна выглядеть как <span class="phone_number">your number with some spaces inside it<span>.

$(document).ready(function() {
    if ($(".phone_number").length>0) {
        $(".phone_number").each(function() {
            $(this).html($(this).html().replace(/\s/g,"<span style=\"display:none\">_</span>&nbsp;"));
        });
    }
});

Ответ 10

Я добавил пробел в первом члене числа.

Вместо (888) 222-3333 я ввел (888) 222-3333

Предоставлено: может показаться странным, но оно работает, и это просто.

Ответ 11

Я добавил дефис в промежутке перед номером, а затем установил отображение: ни один из стиля span, который работал.

    <span class="anti-skype-hyphen">-<span>01273 200 ***

Ответ 12

Все, что вам нужно сделать, это обеспечить, чтобы ваш селектор CSS был более специфичным, чем используемый селектором Skype. В текущей таблице стилей skype они используют:

span.skype_pnh_container span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span {...}

Вам нужно будет добавить дополнительный класс - свой собственный контекст веб-сайта - этому селектору, т.е.

.myclass span.skype_pnh_container span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span {...}

Ответ 13

Вы также можете оставить номер один и удалить его с помощью JS.

jQuery(document).ready(function(){jQuery('.skype_pnh_container').parent().html('(555) 222 - 3333');
jQuery('.skype_pnh_container').remove()}

Это сложнее сделать в обычном HTML, но Skype не удаляет родительский контейнер, поэтому помещаем номер в код с идентификатором, вы можете сделать "getElementById" на нем, установить innerHTML на телефон число.

document.getElementById('phoneNumberContainer').innerHTML='(555) 222 - 4444';

Ответ 14

Если вы используете PhoneGap в iOS, это может быть проблемой UIWebView (отдельно от Skype).

Следующая строка устраняет проблему, если вы не хотите, чтобы автоматические ссылки генерировались в UIWebView:

self.viewController.webView.dataDetectorTypes = UIDataDetectorTypeNone;

внутри AppDelegate.m в -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions