简而言之,一个以编程方式填充了电话号码的文本区域,并安装了 Skype 插件,会产生突出显示的标签。
因此,
(418) 555-1234
变成
begin_of_the_skype_highlighting (418) 555-1234 end_of_the_skype_highlighting
如果将该字符串放在 textarea 中,Skype 突出显示将再次封装它,Ad infinitum。
你如何防止这种情况发生?
你应该看看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可以检查)
我正在使用零宽度连接器‍
和熟悉的
仅使用 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;}
丑陋的 hack,尚未尝试过,但是可以在每个可打印字符之间使用不可打印字符生成进入 textarea 的文本。虽然可能会损坏特殊编码...