有没有办法通过包含任何头文件或任何代码来删除我网站上的 Skype 检测号码以便点击调用?请帮助,以便我可以删除它...
6 回答
来自“如何防止 Skype 突出显示电话号码”:
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
但是,我没有测试过,也无法在 Skype 的文档中找到信息(并不是说我努力过)。
Skype 概述的防止页面更改的方法是在文档标题中添加一个元标记,以告诉 Skype 组件不要触摸数字。但是,这并不可靠,根据我的经验,通常会被忽略。
与其依赖 Skype 的不可靠覆盖,我更喜欢的解决方案是让电话号码对访问者来说就像电话号码,但对 Skype 来说却不是。为此,我们可以在电话号码中间的范围内添加下划线,并将范围设置为不显示。代码:
<span style="display:none;">_</span>
例子:
HTML 中的原始代码:
Phone:<span>+381113233309</span>
添加下划线后的代码:
<span>+38111-<span style="display:none;">_</span>3233309</span>
测试并且工作正常。:)
对于 Wordpress:我把它变成了一个简单的函数,可以进入主题的 functions.php 或添加一个易于记忆的短代码的功能插件,即文本可以插入任何电话号码中,但放置一个 [noskype] 短代码在数字的中间。
// ==============================================
// PREVENT SKYPE CLICK-TO-CALL HIJACK
// add [noskype] within the phone number
// ==============================================
function cc_noskype( $atts, $content = null ) {
return '<span style="display:none;">_</span>';
}
add_shortcode('noskype', 'cc_noskype');
享受
据报道,这个css可以工作:
span.skype_pnh_container {display:none !important;}
span.skype_pnh_print_container {display:inline !important;}
它适用于我的机器。
卸载浏览器插件/扩展将删除它。
Skype 注入 javascript“setTimeout”事件的 HTML。你可以用 CSS 隐藏它,它并没有真正从你的文档中删除它。防止来自 Skype Click 2 Call 的任何操作的最佳方法是在 setTimeout 操作开始之前销毁对象。
/* Destroy injected objects */
var intervalNumber = 12;
var objectDestroyerInterval = setInterval(function() {
if(intervalNumber == 0) {clearInterval(objectDestroyerInterval);}
if(window.SkypeClick2Call) {window.SkypeClick2Call = undefined;}
intervalNumber--
}, 250);
此脚本在 3 秒内检查 12 次,如果有任何 SkypeClick2Call 对象可用并将其销毁。如有必要,您可能希望增加该次数。您还可以启发自己使用此脚本来销毁浏览器可能注入的任何其他对象
结果:没有注入 SkypeClick2Call HTML,也没有记录 javascript 错误。
function reformatPhoneNumberToDisabeSkypeToCall(){
var processedNumber = $('#phone').text()
.replace(/\-/g, "-­")
.replace(/\ /g, " ");
$('#phone').html(processedNumber);
}
为我工作