
Многие сталкиваются с тем, что в готовом сайте плагин Skype Click To Call (если он установлен в браузере) заменил телефоны, а иногда и другие номера, которые не являются телефонными, сделав их интерактивными. При этом Skype заменяет номер с вашим дизайном своей стандартной синей ссылкой с иконкой. В этой статье я расскажу два подхода к решению данного вопроса.
Начну с простого.
Первый подход. Мешаем распознать телефон.
Сразу отметаем вариант использования картинки, т.к. это не позволяет пользователю нормально выделить и скопировать телефон.
Вставляем скрытый тег span внутри телефона:
<p>+7 (123) <span style="display:none;">.</span>456-78-90</p>
Этот метод прост, но при копировании телефон может копироваться с точкой.
CSS метод. Добавьте следующие стили:
.phone-block span[class^='skype_pnh_container'] { display:none !important; /* отключение кликабельности */ } .phone-block span[class^='skype_pnh_print_container'] { display:inline !important; /* включение простого текста */ }
Или LESS, если вы используете его вместо CSS:
.phone-block { span[class^='skype_pnh_container'] { display:none !important; /* отключения кликабельности */ } span[class^='skype_pnh_print_container'] { display:inline !important; /* включение простого текста */ } }
.phone-block – это обёртка вокруг телефона, для того чтобы можно было отключать отдельные телефоны на сайте, а другие оставлять без изменения.
Т.е. HTML может быть таким:
<div class=”phone-block”> <p>+7 (123) 456-78-90</p> </div>
Второй подход. Приручаем Skype.
Теперь самое интересное. Функционал плагина Skype полезен пользователю, нас не устраивает только оформление. Переопределим стили Skype:
CSS:
.phone-block span[class^='skype_pnh_container'] span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span { /*телефон*/ color: #0f7a95 !important; font-size: 24px !important; } .phone-block span[class^='skype_pnh_container'] img.skype_pnh_logo_img { /*иконка*/ visibility: hidden !important; } .phone-block span[class^='skype_pnh_container']:hover img.skype_pnh_logo_img { /*иконка*/ visibility: visible !important; }
LESS:
.phone-block { span[class^='skype_pnh_container'] { /*display:none !important; /* отключение кликабельности */ span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span { /*телефон*/ color: #0f7a95 !important; font-size: 24px !important; } img.skype_pnh_logo_img { /*иконка*/ visibility: hidden !important; } &:hover { img.skype_pnh_logo_img { /*иконка*/ visibility: visible !important; } } } }
Здесь мы поменяли цвет и размер шрифта телефона, а также спрятали иконку Skype и отображаем её только при наведении мышью на телефон. Если вы хотите добавить какие-либо дополнительные свойства, не забывайте добавлять в каждом значении стиля !important иначе стили Skype будут главнее и всё останется без изменений. Также не забываем про пользователей, у которых плагин не установлен: добавляем стили, которые будут работать без плагина. Например:
.phone-block { font-size: 24px; color: #0f7a95; }
Заключение
Есть и другие способы, не упомянутые в данной статье, как менее удачные, по мнению автора. Это специальные метатеги и JavaScript-методы.