TwitterのBadgeをサイドバーに貼り付けたのですが,Internet Explorer(IE)で閲覧したとき,マウスのカーソルをBadge上に持ってくると変な枠が現れ,更に「このコントロールをアクティブ化して使用するにはクリックしてください」というメッセージが表示されて,とても気持ち悪かったので原因を調べました.すると,これはマイクロソフト社の怠慢であることが分かりました(正確にはそうではないけど,そんなようなものです).というわけで,前置きが長くなりましたが,これを修正しました.
修正方法はそれほど難しくありません.要はActiveXに関わる部分を外部に置き,必要なときに呼び出すようにするだけです.まず,TwitterのBadgesで得られるソースコードをコピーし,そのコードの内,「embedで囲まれた部分」を以下のようにし,ファイル名を「twitter_timeline_badge.js」で保存します(別のファイル名でもいいと思いますけど).
document.write('<embed src="http://static.twitter.com/flash/twitter_timeline_badge.swf" flashvars="user_id=7209322&color1=0xFFFFCE&color2=0xFCE7CC&textColor1=0x4A396D&textColor2=0xB70909&backgroundColor=0xFFCEFF&textSize=10" width="250" height="300" quality="high" name="twitter_timeline_badge" align="middle" type="application/x-shockwave-flash" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed>');
次に,先の作業で使わなかった「embedで囲まれた部分以外の部分」を使用し,Twitter Badgeを貼り付けたいブログの場所に,以下のような記述をします(コピペはしないように!フォントサイズや色などは人によって違うので注意!また,IDも「your-twitter-id」のところを自分のIDに変更する必要あり).まきこみ計画を例にすると,foot.htmlにこれを記述しました.
<div style="width:250px;text-align:center">
<script src="twitter_timeline_badge.js"></script>
<a style="font-size: 10px; color: #0xB70909; text-decoration: none" href="http://static.twitter.com/your-twitter-id"><img src="http://static.twitter.com/images/twitter_bubble_logo.gif" border="0" /></a></div>
最後に,前述の「twitter_timeline_badge.js」と「foot.html」をサーバへアップロードします.これで終了.注意が必要なのは「*.js」ファイルのアップロード先です.上記の例では最上層にあげないとダメです.
僕はIEは動作チェックでしか使っておらず,Firefox(FF)派なのですが,IEユーザーの方もたくさんいらっしゃるので,それを考えるとこの修正は大いに意味があると思います.でもFFをお使いになることをオススメしますけどね.あ,それからTwitterユーザーの皆様,どしどしcozymaxをaddってください(こちらから).よろしくお願いします.
・discotique2000
・ActiveX コントロールのアクティブ化 (Microsoft)
writeback message: Ready to post a comment.