2013/06/13

オンラインステータスを表示する Skype ボタン

(追記: 2015年6月12日)以下の方法は完全に使えなくなってしまったので、新たにSkype のオンラインステータスをウェブサイトに表示する方法という記事で解決方法を書きました。


Skype のオンラインステータスをウェブサイトに表示するボタンがあるのですが、現在はサポート対象外となっていて、公式サイトでの入手はできなくなっています。
ログイン状態
この Skype ボタンは現在でも使用可能で、必要ならば以下のようなタグを自分のサイトに埋め込みます。
<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>
<a href="skype:YourSkypeName?chat"><img src="http://mystatus.skype.com/smallclassic/YourSkypeName" style="border: none;" width="114" height="20" alt="ログイン状態"></a>
使用する場合は "YourSkypeName" の部分を自分の Skype 名に書き換えてください。

最近までずっとこの方法で使ってきたのですが、呼び出す JavaScript が重かったりするのが気になっていたので、上記の JavaScript 部分は削除してしまいました。JavaScript がなくても問題なく使えるようでした。

オンラインステータスはほぼ正確に表示されていましたが、ボタンの画像はブラウザのキャッシュから呼び出されてしまうので、2 回目以降の表示では正確なオンラインステータスが表示されないという問題が残されていました。

ブラウザの更新ボタンを押せばオンラインステータスの画像も最新のものに入れ替わるのですが、それを訪問者に強制するわけにもいかないので、できればサイト側で何とか対処したいところです。

そこで、対応策をあれこれと調べてみた結果、埋め込むタグを以下のようにすることで解決できました。
<a href="skype:YourSkypeName?chat"><img src="http://mystatus.skype.com/smallclassic/YourSkypeName" style="border: none;" width="114" height="20" alt="ログイン状態" id="mystatus"></a>
<script type="text/javascript">

var nowdate = new Date();
var stamp = nowdate.getTime();
document.getElementById('mystatus').src="http://mystatus.skype.com/smallclassic/Apollo-Tarot-Divination?"+stamp;
</script>
JavaScript で後から画像を入れ替えているのですが、その際に画像の URL を変更しています。

オンラインステータスは正確に表示されるようになりましたが、この機能はすでにサポート対象外となっているので、いつかは完全に使えなくなる日が来てしまうかもしれません。

とりあえず、使えるうちは使わせてもらいます。

こんなに便利な機能なのに、何でサポートが終了しちゃったんでしょうね?

現在 Skype で公式に配布されているボタンはオンラインステータスの表示はできないシンプルなものだけとなっています。

0 件のコメント:

コメントを投稿