尝试不要将数字作为单个文本输出。而是:
<span>888-555-1212</span>
尝试<span>888-</span><span>555-1212</span>
它会禁用Skype。
<span>888-555-1212</span>
转换为<span>888-</span><span>555-1212</span>
,对吧?因此,要么在输入数据中分隔数字,要么通过某些脚本生成<span>
。但是,在使用CMS时,这两个选项都很麻烦。或者我错过了什么重点? - c_k更新
这个答案已经过时了——请查看 Daniel Byrne 的答案获取更多信息。
只使用 CSS,可以通过覆盖 Skype 使用的样式来去除水印。尝试将以下两行添加到您的样式表中:
span.skype_pnh_container {display:none !important;}
span.skype_pnh_print_container {display:inline !important;}
tel:
协议应该允许手机浏览器直接从浏览器开始呼叫提示,而不是费力地复制粘贴到电话应用程序中。 - ionospan[class^='skype_pnh_container'] {display:none !important;}
span[class^='skype_pnh_print_container'] {display:inline !important;}
^=
运算符使属性选择器匹配具有包含以 'skype_pnh_container' 和 'skype_pnh_print_container' 开头的值的类的元素。
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
官方解决方案是在网页的头部添加以下meta标签。这样可以防止Skype对电话号码进行任何重新格式化。
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
这是一个供应商特定的标签。请查看Skype 工具栏元标记
编辑:对不起,我刚发现IE9对这个解决方案存在问题,因为它不支持软连字号。
这个问题有另一种解决方案:
您可以在电话号码内使用软连字号字符(­
)来解决此问题。例如,给定以下号码:
<span>0664 111 222 3</span>
转换为
<span>0664­ 111 222 3</span>
并且快乐 :)
<a href="tel:+18001234567">1 800 123 4567</a>
我在互联网上看到了很多可能的JavaScript解决方案、元标记、CSS等,也许我找到了一个实际可行的方法用于我的网站,我测试了一些计算机,它工作了,并且我认为它会继续工作直到Skype的代码发生变化。
我正在查看Skype在我们的页面上具体做什么,它在电话号码周围创建了一些span,正如你已经说过的那样,但它甚至在文档末尾,在body关闭标签之后添加了一个a标签。
在这里我看到了诀窍!就在那个对象之前有一个配置标记:
<span id="skype_highlighting_settings" display="none" autoextractnumbers="1"></span>
这是插件动态添加的内容!但是解决方案变得很明显,为了最终防止Skype干扰您的设计并避免更改电话号码,解决方案是在文档中非常早地插入以下标签:
<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个不同版本的Skype,目前它对我有效,如果它对您有效,请让我知道,并分享它 :)
<span class="phone_number">您的带有一些空格的号码<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> "));
});
}
});
<span class="anti-skype-hyphen">-<span>01273 200 ***