FCafe  投稿(編集)コメント頭出し

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

 気が付くと風薫る5月。 ライターというよりエディターぽく4月を過ごした管理人です。
システムの制限強化で一時はパニックに陥ったものの、版組方式改変と強力なツール構築でこれに対応し、以前よりも「楽」に仕事が進むようになりました。  「ピンチはチャンス」 という格言?を実感しております。

(それはそれとして) 本日FORUMにて鮮度の高いネタが目に留まりました。
曰く 「コメントを送信した後の表示位置をその(送信した)コメントのトップにしたい
通常コメント送信後には親記事の個別頁TOPが表示される訳ですが、自分が今送ったコメントを直に御覧になりたいとの御質問です。 ・・・全くもって御尤もな考えです。
html(独自)タグのみでは中々難しいように思われますが、 「何とかならないか」 と試みてみた処、スクリプトを使用して実現する事ができました。

 

SAMPLE


【 設定法 】    各コメント(のタイトル等)に IDを設定します
(コメントリストからコメントを頭出しできるテンプレートはそのようになっています)
123番目のコメントのIDが ”c123” である場合、テンプレート(HTMLソース)の </body> タグ手前に以下のようなスクリプトを書きます。

<!--permanent_area-->
<script type="text/javascript"><!--
if (document.getElementById && window.location.hash==""){
 function cRoll(){
  var r=document.referrer; var N="";
  if (r.indexOf("mode=edit")>0){
   N=r.split('no=')[1].split('&')[0];
  } else { 
   if (r.indexOf(<%pno>+".html")>0 || r.indexOf("no="+<%pno>)>0 ){
     N=<!--rcomment-->"<%rcomment_no>";n=<!--/rcomment-->"";
  } }
  if(N!="") document.getElementById("c"+N).scrollIntoView();
 } cRoll();
}
//--></script>
<!--/permanent_area-->

設定作業は以上です


【 解 説 】   permanent_area の独自ブロックに収納されたソース末尾のスクリプトは記事個別表示モードでのみ作動します。  コメント投稿(”編集”も同じ)直後に表示されるのは親記事の個別表示頁だからです。
 出力されたスクリプトはまず表示中の個別頁の location.hash を調べます。   これが存在するのはコメントリストや自(他)記事内のリンクで呼ばれた場合でありますから(投稿・編集後に表示される頁には "#~" は付きません)スクリプトは何もしません。
「素」で表示された個別頁であった場合、スクリプトは次に履歴を調べます。
前頁が同一記事の個別表示頁であった場合は 「コメントが投稿された」 と解釈し、最新コメントの番号を rcomment(コメントリスト)から取得して”頭出し”を行います。
前頁が「コメント編集」頁であった場合はその eno から編集されたコメントの番号を取得し当該コメントの頭出しを行う、という仕組みですが如何でしょうか。 (勿論スクリプト無効環境では頁頂部が表示されます)
  コメントを投稿・編集したら直に確認したい というのは誰しもの願いでありましょう。
コメント投稿・編集後の表示頁にhashを付加する事自体はシステム側の機能としても可能だと思われますが、テンプレートソース上でのコメントのラベルには定まった規格が存在せず各テンプレート毎にまちまちでありますから、今後とも実装される可能性は高くないと思われます。
「そうする方法が無い訳ではない」 という事で何かの参考になれば・・・

Comment

ナミ ナミ Edit
05/02 15:30

お借り致します はじめまして!
フォーラムからとんでまいりました。
こちらのスクリプトをお借り致します!
素晴らしいものをありがとうございましたm(_ _)m

daniel daniel Edit
05/02 19:44

ナミさん ようこそ はじめまして。
・・そのように仰って戴けて管理人は非常に喜んでおります !
何か御座いましたら どうぞ御遠慮なくお申し付け下さいませ。


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/457-c90677eb

Shown after Admisson
.

≫ 投稿・編集コメント表示 2 投稿記事数制限 ≪

2007 / 05 / 01  Tue
Comment/TB   
Comment 2 / TB 0 / Edit
Designed by Daniel Corporation . all rights renounced
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。