このページは古い情報を掲載しています
このページの情報は更新されていません。新しい情報は「はてなブックマークその場で表示ライブラリ - Hatena Developer Center」に移転しました。
本ドキュメントははてなブックマークコメントをその場で表示するライブラリについての解説です。主にはてなスタッフがその作成と更新を行っています。
はてなブックマークのコメントをその場で表示する機能(詳しくは はてなダイアリー日記 - はてなブックマークコメントをその場で表示する機能の追加について を参照下さい)を、はてなのアプリケーション以外のウェブアプリケーション、ウェブページなどで利用するためのライブラリです。このライブラリを利用することによって、あなたのブログやアプリケーションに、はてなブックマークのコメントをその場で表示することが可能になります。
本機能を利用するページの HTML の head 要素内で
<script type="text/javascript" src="http://b.hatena.ne.jp/js/BookmarkCommentViewerAllInOne.js" charset="utf-8"></script> <script type="text/javascript"> initCreateRelAfterIcon(); </script>
と script タグを記述します。src の値は先に保存したライブラリのパスを記述します。
次に、その場で表示アイコンを表示させたい箇所のリンクの a 要素の rel 属性の値に "bcomment-viewer" をセットします。
例: <a href="http://www.hatena.ne.jp/" rel="bcomment-viewer">はてな</a>
すると、このリンクに並ぶ形でアイコンが表示されます。なお、コメント表示が正しく行われるためには後述するスタイルシートの設定が必要です。
すでに はてなブックマークのブックマーク数を画像で取得する APIを利用している場合は
はてなをブックマークしている数 : <a rel="bcomment-viewer" href="http://b.hatena.ne.jp/entry/http://www.hatena.ne.jp/" class="bookmark-count"><img src="http://b.hatena.ne.jp/entry/image/http://www.hatena.ne.jp/" alt=""></a>
のように記述することで、ユーザ数画像の直後にアイコンを表示することができます。
コメント表示を正しく行うためには、スタイルシートの設定が必要です。アイコンを表示するページに適用されるスタイルに以下のスタイルを追加すると、正常なレイアウトで表示されるようになります。
.hatena-bcomment-view { background-color:#fff; border-top:1px solid #CCC; border-left:1px solid #CCC; border-right: solid 1px #999; border-bottom: solid 1px #999; position: absolute !important; display: none; word-break : break-all ; word-wrap : break-word ; width: 400px; text-align:left; margin:0 !important; padding:0 !important; font-weight:normal !important; font-size:90%; z-index:100; color:#000 !important; } .hatena-bcomment-title { margin:0 !important; padding:3px 5px !important; text-indent:0 !important; } .hatena-bcomment-title img { vertical-align: middle !important; margin: 2px 2px 2px 4px !important; } .hatena-bcomment-view ul { width: auto; overflow: auto; overflow-y:auto; border-top: 1px solid #5279E7; background-color: #edf1fd; list-style-type: none; padding: 5px 8px !important; margin: 0px !important; line-height: 150%; } .hatena-bcomment-view ul li{ text-indent:0 !important; margin:0 !important; padding:0 0 2px 0 !important; font-size:90%; background:trasparent !important; } .hatena-bcomment-view ul li span.hatena-bcomment-tag a{ color:#6365CE; font-family:"Arial",sans-serif; margin:0 3px; } .hatena-bcomment-view ul li img{ vertical-align:middle !important; margin:0 2px !important; } .hatena-bcomment-view ul li span.hatena-bcomment-date { } .hatena-bcomment-view-icon { cursor: pointer; }
本機能は、img タグの onclick 要素にコメント表示するURLを記述することでも利用できます。
<img src="http://r.hatena.ne.jp/images/popup.gif" onclick="iconImageClickHandler(this, 'http://www.hatena.ne.jp/', event);" alt="">
と記述すると、画像をクリックしたときにその場でコメントが表示されます。
なお a タグの rel 属性を使わず、本機能のみを使う場合は冒頭で解説した
<script type="text/javascript"> initCreateRelAfterIcon(); </script>
の記述は必要ありません。
はてなブックマークコメントその場で表示ライブラリでは様々なオプションが利用可能です。このオプション( BookmarkCommentViewer.options )、を上書きすることでコメント表示の挙動をカスタマイズできます。
オプションは以下の通りです。
たとえば
とする場合は、ライブラリ読み込みの後
<script type="text/javascript"> BookmarkCommentViewer.options['dateFormat'] = '%y/%m/%d'; BookmarkCommentViewer.options['blankCommentHide'] = true; BookmarkCommentViewer.options['tags'] = false; </script>
と script 要素を記述することで挙動を変更できます。上記を適用した例では次のような表示になります。
画像の URL を場合を変えたい場合は、BookmarkCommentViewer のプロパティを変更することで対応が可能です。画像のプロパティは以下の通りです。
たとえばロード時のアイコンを変更したい場合は、
<script type="text/javascript"> BookmarkCommentViewer['LOADING_ICONURL'] = 'http://example.com/loading.png'; </script>
とすることで変更できます。
これらのオプションと greasemonkey を併用すると、自分のブラウザでブックマークコメントその場で表示の見た目を変更することができます。たとえば次のようなユーザスクリプトを用意してインストールすることで自分の好きなように見た目をカスタマイズすることができます。
// ==UserScript== // @name hatebucommentvieweroption // @description hatebucommentvieweroption // @namespace http://www.hatena.ne.jp/ // @include * // ==/UserScript== (function () { var w = unsafeWindow; if (typeof(w.BookmarkCommentViewer) != 'undefined') { w.BookmarkCommentViewer.options['dateFormat'] = '%y/%m/%d'; w.BookmarkCommentViewer.options['blankCommentHide'] = true; w.BookmarkCommentViewer.options['tags'] = false; } })();
ライセンスのライセンスは MITライセンス ( Open Source Initiative OSI - The MIT License:Licensing )とします。
このライブラリをロードすることで汚染される JavaScript のグローバル領域(windowオブジェクト)は、
です。他の JavaScript ライブラリとコンフリクトする可能性がありますのでご注意下さい。