jQuery.js」タグアーカイブ

任意のリンクに公式 Tweet 機能を追加する

先日 Twitter の公式 Tweet ボタンが提供されました。
ただし、この機能では Twitter が提供するボタン画像しか使えません。
Tweet ボタンとして他の画像を使いたい場合は、「Build your own」の所で説明されているように http://twitter.com/share へのリンクを設置してねとしか説明されていません。
しかし、これでは公式 Tweet ボタンのようにサブウィンドウを開いて Tweet することができませんね。
任意のリンクに公式 Tweet ボタンと同様の機能を持たせるにはどうすれば良いのでしょうか?

ここでは jQuery で、任意のリンクに公式 Tweet ボタンと同様の機能を持たせる方法を解説します。
続きを読む

Quick Comments 0.7.0 リリース

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 にするかもしれません。
# しかし、当初よりもだいぶ大掛かりなプラグインになってきてしまったなぁ。

Quick Comments 0.6.0 リリース

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

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

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

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

jQuery 使用スクリプトを Google Chrome 対応で微調整

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

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

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

続きを読む

IE の hasLayout プロパティに関するバグ

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

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

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

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

Quick Comments 0.5.2 リリース

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 として持たせ、その値を元に同一投稿者かどうかを判断します。

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

Quick Comments 0.5.0 リリース

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

今回のバージョンアップで、ログインユーザー以外でも、コメント投稿後一定時間だけ修正可能とする機能を追加しました。
デフォルトではオフになっていますので、管理画面で使用可にしてください。
大幅な機能追加を行ったため正式リリース前にyutakaさんにテストを付き合っていただきました。
yutakaさん、バグ出しや機能追加について色々とご意見いただきありがとうございました。

また、この機能を追加するに当たって、以下のプラグインを参考にさせていただきました。
Edit Comments XT Plugin
続きを読む

Quick Comments

WordPress のコメント投稿後、リロードせずにコメント欄を更新するプラグインQuick Commentsをリリースしました。
以前から当サイトで使用しているWordPress のコメント投稿を Ajax 化するスクリプトをベースに、設定しやすいようにしてあります。
ダウンロードと詳細な使用方法については WordPress Plugins/JSeries を参照してください。

Quick Comments スクリーンショットコメントを投稿すると、「コメント送信中」と表示された後で、画面全体のリロード無しにコメント欄が更新されます。
また、エラーが発生した場合はメッセージボックスでエラー表示します。

同様のプラグインに AJAX Comments がありますが、当プラグインは Prototype.js では無く、 jQuery ベースで作成してあります。
jQuery を読み込んでいるから、Prototype.js は読み込みたくないなぁという方は使ってみてください。

jQuery で WordPress のコメント投稿を Ajax 化

AJAX Commentsプラグインを使用して、コメント POST を Ajax 化していたのだが、最新バージョンの 2.09 では有料になったようだ。
そんなわけで jQuery で、同等のことができるようなコードを書いてみた。
現在、このサイトではこの機能は有効になっていないので、コメント欄でテストしないでください。

基にしたコードは、以前 AJAX Comments プラグインを jQuery 対応させたときに書いたもの。
AJAX Comments プラグインでは、コメント POST 先を独自の PHP にしているが、今回のコードは WordPress の標準のまま wp-comments-post.php に対して POST している。

続きを読む

jQuery.lightpop.js

画像だけでなく、各種動画ファイル、YouTubeなどの動画サイト、自サイト内の別ページを lightbox 風に表示するための jQuery用プラグインです。
コンテンツを表示する際のフレームを通常の白枠ではなく、画像を使用したフレームに変更することもできます。
フリーの FLV プレイヤー JW FLV Player を入手することで FLV 形式のファイルを扱えるようになります。

デモは以下のリンクからどうぞ。
jQuery.lightpop.js サンプル

ダウンロード

jQuery.lightpop plugin
続きを読む