Skype がインストールされているWindowsマシンでは、すべての電話形式の番号をSkypeリンクに変換する傾向があるため、クリックしてSkypeで電話をかけることができます。
問題は、ページ上の特定の番号に対してそれをどのように防ぐかです。
数字を単一のテキストとして出力しないでください。の代わりに
<span>888-555-1212</span>
試してみる
<span>888-</span><span>555-1212</span>
そして、それはスカイプを無効にします
更新
この答えはもはや正確ではありません-詳細については Daniel Byrneの答え を参照してください。
CSSのみを使用すると、Skypeで使用されるスタイルをオーバーライドすることで削除できます。スタイルシートに次の2行を追加してみてください。
span.skype_pnh_container {display:none !important;}
span.skype_pnh_print_container {display:inline !important;}
Skypeは、ランダムに生成された数字の文字列をspanタグの最後に追加するため、Grooからの上記の応答は完全に正確ではなくなりました。ページ上のすべてのSkypeタグを正しく選択するには、次のようなCSS3ワイルドカードセレクターを使用します。
span[class^='skype_pnh_container'] {display:none !important;}
span[class^='skype_pnh_print_container'] {display:inline !important;}
^=
演算子により、属性セレクターは、「skype_pnh_container」および「skype_pnh_print_container」で始まる値を含むクラスを持つ要素をマッハします。
公式な解決策は、Webページのheadセクションに次のメタタグを追加することです。これにより、スカイプは電話番号の再フォーマットを実行できなくなります。
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
これはベンダー固有のタグです。 Skype Toolbarメタタグ を参照してください
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
編集:すみません、IE9はソフトハイフンをサポートしていないため、このソリューションに問題があることを発見しました。
この問題には別の解決策があります。
ソフトハイフン文字(­
)問題に対処するための電話番号内。たとえば、与えられた番号
<span>0664 111 222 3</span>
への変更
<span>0664­ 111 222 3</span>
そして、幸せになります :)
新しいHTML5 telプロトコルを使用すると、Skypeの迷惑メールの表示がブロックされることがわかりました。
<a href="tel:+18001234567">1 800 123 4567</a>
私はインターウェブ上で多くの可能な解決策を見つけましたjavascriptソリューション、メタタグ、CSS、そして多分私は実際に私のウェブサイトで働いているハッキングを見つけました、私はいくつかのコンピューターでテストし、動作しますコード内。
私たちのページでスカイプが正確に何をしているのかを見ていて、すでに述べたように電話番号の周りにある程度のスパンを作成しますが、ドキュメントの最後に、ボディを閉じたタグの直後にタグを追加します。
そして、ここで私はトリックを見ました!そのオブジェクトの直前に構成タグがあります。
<span id="skype_highlighting_settings" display="none" autoextractnumbers="1"></span>
これはプラグインによって動的に追加されます!しかし、ここで解決策が明らかになります。最終的にスカイプがデザインをいじって停止し、電話番号を変更しないようにするために、解決策はドキュメントの非常に早い段階で次のタグを挿入することです。
<span id="skype_highlighting_settings" display="none" autoextractnumbers="0"></span>
autoextractnumbers = "0"に注意してください。ここにトリックがあります。属性「autoextractnumbers」がないため、ドキュメントはそのタグで検証されませんが、コメントされていても機能することに気付きました:
<!-- <span id="skype_highlighting_settings" display="none" autoextractnumbers="0"></span> -->
以上です!乱雑なプラグインから無料でウェブページをお楽しみください!また、Webページは引き続き正しく検証されます。それがあなたにも役立つことを願っています!私はいくつかのコンピューターで3つの異なるブラウザーと2つの異なるスカイプバージョンでテストしましたが、今のところそれは私のために動作します。
数値の前のスパンにハイフンを追加し、スパンスタイルにdisplay:noneを設定しました。
<span class="anti-skype-hyphen">-<span>01273 200 ***
これを試して。電話番号のスペースを不可視のスパン+元のスペース文字に置き換えます。だからスカイプはそれが数字であることを理解できず、私たちの愛する電話番号は同じままです:)私は通常、コンテンツ管理者に彼の意志で電話番号を変更させるので、このアプローチを使用しなければなりませんでしたので、javascript内でハードコードされた番号を使用できませんでした。もちろん、マークアップは<span class="phone_number">your number with some spaces inside it<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> "));
});
}
});
あなたがする必要があるのは、あなたのCSSセレクターがSkypeが使用するセレクターより特定であることを保証することです。現在のスカイプスタイルシートでは、以下を使用します。
span.skype_pnh_container span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span {...}
このセレクターに追加のクラス(独自のWebサイトコンテキスト)を追加する必要があります。
.myclass span.skype_pnh_container span.skype_pnh_highlighting_inactive_common span.skype_pnh_text_span {...}
数値の最初の項にスペースを追加しました。
(888)222-3333の代わりに(888)222-3333と入力しました
確かに:奇妙に見えるかもしれませんが、機能し、簡単です。
番号をそのままにして、JSで削除することもできます。
_jQuery(document).ready(function(){jQuery('.skype_pnh_container').parent().html('(555) 222 - 3333');
jQuery('.skype_pnh_container').remove()}
_
通常のHTMLでは困難ですが、Skypeは親コンテナーを削除しないため、IDを使用して番号を入力し、その上で「getElementById」を実行し、innerHTMLを電話番号に設定できます。
document.getElementById('phoneNumberContainer').innerHTML='(555) 222 - 4444';
IOSでPhoneGapを使用している場合、これはUIWebViewの問題である可能性があります(Skypeとは別)。
次の行は、UIWebViewで自動リンクを生成したくない場合の問題を修正します。
_self.viewController.webView.dataDetectorTypes = UIDataDetectorTypeNone;
_
-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
のAppDelegate.m内