防止skype突出显示破坏textareas

时间:2010-11-24 16:41:09

标签: html textarea skype

简而言之,一个以编程方式填充了电话号码的文本区域,安装了Skype插件后,会生成突出显示标记。

因此,

(418) 555-1234

变为

begin_of_the_skype_highlighting (418) 555-1234 end_of_the_skype_highlighting

如果 字符串放在textarea中,Skype突出显示将再次 无限广告

你如何防止这种情况?

3 个答案:

答案 0 :(得分:9)

您应该查看http://forum.skype.com/index.php?showtopic=96959&st=0

看起来这是一个报告的错误,但直到现在才解决。

建议使用元标记(似乎适用于所有Skype插件

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

引入一个不可见的字符,该字符将破坏用于识别电话的Skype算法

+123 456<span style="display:none;">_</span> 789

不认为这可以与textareas一起使用

当然,如果问题在于您自己对该页面的访问权限,则禁用该插件。


<强>更新

检查http://www.jsfiddle.net/gaby/Qy7uw/中的两个示例中的任何一个是否有效。 (我没有skype来检查

我使用零宽度木匠 &zwj; 和熟悉的 &nbsp;

答案 1 :(得分:1)

仅使用CSS,可以通过覆盖Skype使用的样式来删除它。尝试将这两行添加到样式表中:

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

编辑 Skype已开始在课程中添加唯一编号,您可以使用新的Css 3选择器解决它:

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

答案 2 :(得分:0)

丑陋的黑客,还没有尝试过,但是textarea中的文本可能会在每个可打印字符之间生成一个不可打印的字符。可能会损坏特殊编码...