2009年4月16日木曜日

コメント欄をいぢった

コメントに改行があるとコメントのリンクのされ方がおかしい。
コメントと時間や投稿者にもリンクが張られる。

あと、先頭10文字まで表示するようにしているが、
文字によっては文字幅が小さいので改行されずにコメントの横に日時が表示される。

気に入らない。

ということで、久々にjavascriptの知識を使って気に入るように修正してみた。

今回色々と調べたこと。

文字列をreplaceする時の引数は文字列だけだと一度しか置換されない。
正規表現を使わないと駄目。

コメントの改行は<br />
なので、これを空白に置換した。

修正部分だけを載せようと思ったけど、
めんどーなので全部載せる。
参考になったとか使用したって人が万が一いたらコメントしてくれないかなぁ。

<div id="recent_comment_list"></div>
<script>
<!--
function recent_comment_callback(obj) {
 var data = obj;
 var statusHTML = '<ul>';
 var entry = ''; ← ちょっくら変数定義
 var text = ''; ← ちょっくら変数定義
var l=0;
 for (var i=0; i<data.feed.entry.length; i++) {
  entry = data.feed.entry[i]; ← 変数に代入するようにした。
  text = entry.summary.$t; ← 変数に代入するようにした。
  text = text.replace(/<br \/>/g," "); ← ここでbrタグを空白に置換
  statusHTML+= ('<li><div><a href="'+entry.link[2].href+'">'); ← divタグを追加

  statusHTML+= (text.substring(0,11)); ← なんでか11文字にしてみたり。
  if (text.length > 11) { ← なんでか11文字にしてみたり。
   statusHTML+= ('...');
  }

  statusHTML+= ('</a></div> - '); ← divタグを追加
  statusHTML+= ('<span class="item-date">'+entry.published.$t.substring(0,10)+'</span>');
  statusHTML+= ('<span class="item-author"> '+entry.author[0].name.$t+'</span>');
  statusHTML+= ('</li>');
 }
 statusHTML += '</ul>';
 document.getElementById('recent_comment_list').innerHTML = statusHTML;
}

-->

</script>
<script text="text/javascript" src="http://omosaku.blogspot.com/feeds/comments/summary
?alt=json-in-script&callback=recent_comment_callback&max-results=
8"></script>

コピーするだけでは使えないです。

7 コメント:

sho さんのコメント...

var entry = (^o^;)
      ↑ ちょっくら焦ってみた
var text = (ToT)
      ↑ ちょっくら泣いてみた
entry = data.feed.entry(~^◇^) 
      ↑ 変態がいた。
text = entry.summary.щ(゚▽゚щ)     ↑ 変態をあおる事にした。
text = text.replace(/
/g, |ω・´) 
        ↑ ここで影から覗いてみた。

sho さんのコメント...

改行がおかしかったから直してみた。

var entry = (^o^;)
      ↑ ちょっくら焦ってみた
var text = (ToT)
      ↑ ちょっくら泣いてみた
entry = data.feed.entry(~^◇^) 
      ↑ 変態がいた。
text = entry.summary.щ(゚▽゚щ)
      ↑ 変態をあおる事にした。
text = text.replace(//g, |ω・´) 
      ↑ ここで影から覗いてみた。

ramito さんのコメント...

あんたは一体何をしているんだ?

間違えたらコメント消せばいいのに。
って、出来ないんだっけ?

本当に理解が出来ないのか、
ただ単にコメントをいじりたかったのかがわかりにくいな。

sho さんのコメント...

javaはやったこと無いから、さっぱり。

読んでて、所々顔文字に見えてきたからいじって遊んでみたw

ramito さんのコメント...

顔文字ってw

確かに顔文字を使い出したころは顔に見えて困ったことがあったけどねw

javaっていったってCとほぼ同じだよ。

ebi さんのコメント...

何のことか、さっぱりわからんw

日本語で、説明してくれ!

ramito さんのコメント...

えびさん

文字を出力する時にデータを加工しているのですよ。
で、コメント一覧から必要な文字を切り取ってぺたぺたはったりしています。

そーいうソースです。