Posted by をかもと at 2008年12月15日 月曜日

WordPress のコメント投稿後、リロードせずにコメント欄を更新するプラグイン Quick Comments の Ver.0.7.0 をリリースしました。
ダウンロードと詳細な使用方法は WordPress Plugins/JSeries » Quick Comments よりお願いします。

今回の変更点は以下のとおりです。

  • 処理を高速化させるために新規投稿時、および編集時にサーバから返すコメントを1件のみにしました。
    ただし wp.Vicuna を使用している場合のみ、全件を返します。
    (以前のバージョンでは、毎回すべてのコメントを返していた。)
    これにより、大量にコメントが付いているポストへの新規コメント投稿・コメント編集が高速になるはずです。
  • テーマ変更時に以下のテーマへの変更であれば、各種設定が自動的に変更されるよう修正しました。
    ※対応テーマ:default, classic, easyall, k2, wp.vicuna, sandbox, iNove
  • mg12さんが作成してくださった簡体中国語の言語パックを同梱しました。
    Quick Commentsの紹介もしてくれてるようですね。

Quick Comments も、そろそろ機能が固まってきたので、近い内に正式バージョン 1.0.0 にするかもしれません。
# しかし、当初よりもだいぶ大掛かりなプラグインになってきてしまったなぁ。

Posted by をかもと at 2008年11月16日 日曜日

WordPress のコメント投稿後、リロードせずにコメント欄を更新するプラグイン Quick Comments の Ver.0.6.0 をリリースしました。
ダウンロードと詳細な使用方法は WordPress Plugins/JSeries » Quick Comments よりお願いします。

今回の変更点は以下のとおりです。

  • コメント編集時、名前・メール・ウェブサイトも編集可能に設定可
  • 編集アイコン自動表示・自動表示しないを選択可能
  • スパムちゃんぷるーDNSBLを利用したSPAM対策機能の追加(選択性)

スパムちゃんぷるーを利用したSPAM対策については、このエントリに書いたことを組み込んであるだけです。
一応、当サイトで半月ほど実働させて問題なさそうだったので Quick Comments にも組み込みました。
ただしログ等を残さない凶悪仕様なので、間違って正常なコメントをハネてしまっても分かりません。
その辺は割り切って使ってくださいませ m(_ _)m

Google Chrome はレンダリングエンジンに Safari と同じ Webkit を使用している。
そのため jQuery 1.2.6 では Safari として認識される。
# jQuery では、ユーザーエージェントに webkit の文字があると Safari として認識するため

しかし、JavaScript エンジンは独自の V8 を使用しているため、jQuery をそのまま使用すると、微妙に不具合が発生する。
すべては調べきれていないが、概ねエレメントの位置取得で問題が発生している感じだ。

私が JSeries でリリースしているプラグインでは、大抵 JavaScript で jQuery を使用しているため、一挙に微調整をした。
バージョンアップしたのは、以下の5つのプラグイン。

…続きを読む

Posted by をかもと at 2008年9月26日 金曜日

IE が独自に実装しているプロパティ hasLayout。
これが false の時にレイアウト崩れを起こすバグは多々あります。
このバグを回避するために CSS で * {zoom:1;} とかって指定して強引に全要素の hasLayout プロパティを true にしてしまうハックは、広く知られています。
(参照:IEでのCSSのバグを回避するhasLayout | コリス

しかし、この hasLayout プロパティ、実は true の時にもバグを引き起こすことがあるのです。
しかも、凶悪なことに <ul>, <ol> 要素の hasLayout が true の時、リストマーカーが消えてしまうと言うバグ。 :evil:
(参照:hasLayoutプロパティがtrueで発生するバグ – Webtech Walker)

で、実は Quick Comments Ver.0.5.1 をリリースしたときにみなみさんに指摘されたのですが、IE でリストマーカーの数字が消える不具合が発覚しました。
これは、jQuery で <ol> 要素を操作する際に、お節介にも jQuery が CSS に zoom:1 をセットしてしまい、結果として hasLayout プロパティが true になってしまうために発生した不具合でした。
とりあえず、回避策として CSS の zoom プロパティを保持しておいて、 IE の場合のみ <ol> 要素の操作終了後、元に戻すようにしてあげました。

IE のお陰で本質的でない所で、頭を悩ませられるのは疲れますね。

Posted by をかもと at 2008年9月21日 日曜日

Quick Comments の Ver.0.5.2 をリリースしました。
ダウンロードと詳細な使用方法は WordPress Plugins/JSeries » Quick Comments よりお願いします。

Ver.0.5.1 からの修正点は

  • Twitter でみなみさんに指摘された IE で「コメント編集」リンクが指のマークにならない件。
  • IE でコメント編集後、名前・メール・URLが入力不可になってしまう。
  • コメント投稿者の確認方法の厳格化(ただし 0.5.1 と同様のチェックも選択可能です)

ただし、IE は IE7 でしか確認取れていません。
IE6 では、まだおかしいよとかあればご連絡ください m(_ _)m

コメント投稿者の確認方法は「簡易的なチェック」と「より厳格なチェック」から選択できるようになりました。
「簡易的なチェック」では、投稿者のIPアドレスだけを見て同一投稿者かどうかを判断します(Ver.0.5.0 と同様)。
「より厳格なチェック」では、コメント投稿時にクライアントに「IPアドレス・ブラウザ・投稿者名・メールアドレス・URL」から生成したハッシュ値を COOKIE として持たせ、その値を元に同一投稿者かどうかを判断します。

時間制限を短くして「簡易的なチェック」だけでも良いですし、より厳格にチェックしても良いです。
その辺は、各サイトの管理者のポリシーに従って設定してください。