2008年01月07日 (月)

HaloScan がインラインコメントをサポート

1 月 1 日に「HaloScan News: Haloscan Introduces In-line Comments」でアナウンスされていますが、HaloScan がインラインコメントをサポートしました。その使い方を手短に説明します。


HaloScan News: Haloscan Introduces In-line Comments」では

<script type="text/javascript" src="http://www.haloscan.com/comments/USERNAME/PAGE_NAME/?m=1" />

HaloScan News: Haloscan Introduces In-line Comments から2008年1月7日に引用

というコードの“USERNAME”と“PAGE_NAME”をそれぞれ HaloScan のユーザ名、コメントを付けるページの ID に置き換えればよいと書かれています。例えば私が iBlog で使用するとしたら yujiokamura<$EntryUUID$> というように置き換えます。

しかしこれだけではテンプレートがどうのこうのと言われて表示できない場合があります。それはデフォルトの HaloScan テンプレートではなく独自の HaloScan テンプレートを使用している場合です。

独自のテンプレートをデフォルトのものに戻してみるとわかりますが、新しいコメントのテンプレートタグ {HSifFullPage}, {/HSifFullPage} というのが増えています。これはインラインで表示するのではなく今までのポップアップウィンドウなど単独ページで表示する場合のコードの範囲を指定するものです。

例えば冒頭の文書型(DOCTYPE)の指定や html 開始タグ、head 要素などはインラインでコメントを表示する際には不要です。なぜならインラインで埋め込む先のエントリのページなどに既にあるからです。このような単独ページでのみ必要でインライン表示では不要な部分を指定するテンプレートタグ {HSifFullPage}, {/HSifFullPage} がないと上の JavaScript コードは機能しないようになっています。

HaloScan にドネーションしたプレミアムユーザで、独自の HaloScan テンプレートを使用している人は、一旦デフォルトのテンプレートにしてからそれを参考にして {HSifFullPage}, {/HSifFullPage} を付けたテンプレートを用意することでインライン表示が可能になります。

このとき注意することは、

  • id 属性値が埋め込まれる側のページのものと被らないようにすること
  • class 属性値を使用した CSS の指定が干渉しないようにすること
  • tabindex 属性や accesskey 属性を付与している場合も被らないようにすること
  • 一つのコメントのパーマネントリンク(href="#{HSCommentID}" というようになっている a 要素)の URL が単独ページで表示させた場合とインライン表示させた場合とで食い違ってしまうので、a 要素の開始タグと終了タグをそれぞれ {HSifFullPage}{/HSifFullPage} で囲ってインライン表示の場合はパーマネントリンクを付けないこと

などです。


Posted: 01:19    | Comment | Trackback


以下、類似エントリです。