記事毎にDISQUS(wikipedia)
でコメントを受け付けるが、左の画像の通りに最新のコメントを時系列に表示させている。
ここにきて、DISQUSに当初設定したドメイン名を変更したいし、ハイパーリンク
をクリックした時のターゲット
を変更したい。その為のJavaScriptを公開します。 DISQUSを採用して、最新のコメントを扱う方に参考にしていただきたい。

デコレーション
訪問者を待たせない!そこで記事毎のDISQUSは、表示領域が近辺に近付かないとDISQUS側との通信を起動しませんし、最近のコメントの表示も iFrame
を利用して、WordPressへの訪問時にDISQUS側と通信を開始しないようにしています。 何故なら、著者Ujiki.oOが勝手にDISQUSを埋め込んでいる訳で、訪問者が望んでいる情報ではありえません。 例えば、Google検索した結果、DISQUSスレッドが表示されたと言う経験が無いからです。 コメントまで行いたいと言う希少な訪問者の要望を満たすために、DISQUSの意義があるからです。 また、小さな画面のスマートフォン(携帯端末)で無駄なパケット通信を強要させない為です。無駄な通信は二酸化炭素の垂れ流しに繋がります。 過去記事: 「プロキシーサーバーを利用することは馬鹿なことか?!」
外部技術参照: Dynamic Drive CSS Library- DIVs and containers採用したプッシュダウンコンテンツ: Pure CSS3 Push Down Panel
- 原初の
IFRAME
で指定されている静的コンテンツは極小である。- start
これによってブラウザーの「履歴」や「戻る」ボタンでの無駄な通信を回避する。 - start
- マウスでクリックすると、ブラウザーの縦ピクセルの窓を開き、アナウンス用の静的コンテンツに接続し、それを表示する。
- マウスのアクションで静的コンテンツを実行させている。
- マウスのアクションで静的コンテンツを実行させている。
- 静的コンテンツ内のハイパーリンク文字「DISQUS最新コメントの表示」をクリックすると、ここで初めてDISQUS側と通信を開始する。
- 任意の複数のDISQUSスレッドを表示する。
- recent_comments_widget.js
- recent_comments_widget.js
- ここで、JavaScriptの働きで、ドメインの変更と、ターゲットの指定を自動的に行います。
- ハイパーリンクをクリックした時のターゲットは「
_top
」に、変更しています。 - ハイパーリンクをクリックした時のドメインを自動的に入れ替えています。
- ハイパーリンクをクリックした時のターゲットは「

最近のコメントの表示
「recent_comments_widget.js
」をキーワードとしてGoogle検索してみてください。 使い方のページが紹介されていませんか? 著者も、最近のコメントを表示するのに、
recent_comments_widget.js
のみを、都合によって複数連続して定義しています。 管理者のコメントはアナウンスとして発言しているので、最近のコメントには表示しない設定です。

JavaScript
訪問者の意向でクリックすると、 recent_comments_widget.js
を実行するHTMLファイルの <Head> に、以下のJavaScriptを定義します。 2回目以降の訪問で圧倒的に速くなるように、外部JavaScriptファイルの読み込み方式を採用しています。 勿論、 .htaccess
を改良し、gzip圧縮化ファイルを配信しています。
window.onload = function(){}
recent_comments_widget.js
を実行し、全てのデーターを受け取った後に、関数を実行します。Target_
とd
をローカル変数として宣言しています!- 全ての「Aタグ」に対して処理を繰り返します。
.href
が未定義の場合、次の処理を行います。typeof
で、分岐させています。setAttribute
で、target
を作成しています。- 既存の
.target
に、情報を変更しています。
.href
に対して、.replace()
を利用して、ドメインを全置換しています。.href.match
を利用して、アンカー情報が含まれない場合、.href
に対して、アンカー情報を付け加えます。
- YUICOMPRESSORでコンパイルした結果は次の通りです。

筆者の勉強不足
本記事で紹介したJavaScriptは、クライアントプロセスの領域で機能します。 つまり、DISQUS側の元データーは何ら修正されていません! DISQUS側の高尚で便利だろう機能を筆者は実際に理解できませんでした。 ドメインの一括変換機能を実行したところ、既存の呼び出しが不能となりました。 DISQUSのシステムを触る前に、エキスポートはしたのですが、インポートしても元のデーターに復元できていません。 筆者が行いたかったのは、「既存のDISQUSスレッドをエキスポートし、新たなDISQUSスレッドにインポートして、新たなDISQUSスレッドでの運用を開始する」です。 どなたか、実践済みの方で解説記事を公開されておられたら、お教え願います。

新たな改訂?
記事毎にDISQUSでコメントを受け付けていますが、そして近づくと自動的にDISQUSと通信しています。 これを改訂し、訪問者がボタンを押さなければ、DISQUSとの通信が始まらないようにしようかと考えています。 しかしながら、コメントが一件でも付きましたら、従来の通り、近づくと自動的にDISQUSを表示するで良いでしょう。 既にDISQUS再表示ボタンは直上にあるのですが・・・・・「あなたの言語でDISQUSメニューを再表示する」
この項目はFacebook(Meta)が公開している共有機能を、そのまま利用しています。 であるにも関わらず、表示できない有名ブラウザーがあります。 それらブラウザーとは、表示できないのではなくて、表示させない処理を故意に行っている有名ブラウザーがあると言う意味です。 ことはFaceboookに限定しません。 様々なオープンな情報をブラウザーが、あなたに対して見えなくしている事実が問題です。 みなさんが、どのブラウザーを利用することについて、それは自由です! 著者は決してブラウザーについての選択について推奨はしませんが、このFacebookが表示されない現象を確認できたのなら、他のブラウザーを是非、試用してみてください! 気になる方は、過去記事「レスポンスを崩さない広告の埋め込みを考えない?」の項目「Facebookの EMBED」に
サポートが必要ですか?
「無料サポート」に興味があれば
上の丸ボタンをクリック願います。
サーバーから9kbを受信しますのでお待ち願います。


※ DISQUSについては別管理ですので、毎回、最新のDISQUSを表示できています。 但し、ご自分のDISQUSコメントを編集した直後に編集後の内容に至らない場合がありますが、DISQUS表示の上部にある「あなたの言語でDISQUSメニューを再表示する!」をクリックしますと最新の状況を表示致します。 宜しくご理解願います。
Google Translator.
3 Pingbacks