Web開発者ブログAjaxページでDISQUSを使う2012-05-22TweetオンラインコメントシステムDISQUSをAjaxサイトに設定した時のメモです。通常は次のようなタグを貼りつけて使用します。class="logo-disqus">Disqus</span></a>JavaScriptを使って外部のスクリプトファイルを読み込んでいます。この時、読み込みが終わった時点で次のような処理が実行されます。いう要素を検出してそれをコメントフォームに書き換えています。スクリプトファイルのなかにDOMを操作する処理も含まれています。一度だけ実行する場合は問題ありません。Ajaxを使って画面を遷移する時はページの再読み込みが行われません。その場合には上記の、HTML要素を検出してコメントフォームに置き換えるという処理が行われません。HTML5のhistoryAPIやhashchangeイベント等を使う場合にはその都度DOMを手動で再構築する必要があります。}});こんな感じのコードでDOMを再構築してくれるようです。エントリーページを遷移したあと等に実行することになると思います。以下に実際に使用したコードを載せておきます。CoffeeScriptを使用しています。DISQUSjQueryのajaxを使ってスクリプトファイルを読み込んで実行しています。shortnameが入っています。DISQUSではスクリプトの設定にグローバルスコープの変数を使います。使う代わりにwindowオブジェクトに変数を入れています。オブジェクトが使えるようになります。1回目に読み込まれた時には自動的にHTML要素を書き換えてくれます。メソッドを使用してHTMLを書き換える指示を出します。書き換えられますので、書き換えられた新しいurlを設定しています。