Information 0025
TNC Ajax Site Module をアップデートし、 HTML 5 の機能を利用して、Ajax リクエスト時に、 ブラウザの Back ボタン・Forward ボタンが有効に働くようにしました。
TNC Ajax Site Module は、サイト内の全ての内部リンク(Internal Links)を Ajax 対応させる機能を提供するモジュールですが、これまでは1つ前のページに戻る場合には、ウインドウの右下に表示される独自実装による Back ボタンを使用していただく必要がありました。そこで今回、最新のモダンブラウザにおいては、当モジュールによる Ajax 経由でのコンテンツの表示の際にも、ブラウザの Back ボタン・Forward ボタンが有効に機能するように対応しました。詳細につきましては、TNC Ajax Site Module のアップデート情報をご参照ください。
なお、今回の修正には、HTML 5 において拡張された JavaScript の新機能を用いています。
また、今回の修正により、当モジュールをインストールしている当サイトにおきましても、最新のモダンブラウザの場合には、ブラウザの Back ボタン・Forward ボタンが有効に機能するようになっています。(*1)(*2)
TransNetCreation では、今後とも、「Think Future, Imagine Alternative, Create Real!」の精神で、Drupal におけるシステム開発・サイト構築に取り組んでいきたいと考えています。当サイト共々、今後とも TransNetCreation をよろしくお願い致します。
*1:最新のモダンブラウザ以外の場合には、これまで通り、ウインドウの右下に表示される独自実装による Back ボタンを使用していただく必要があります。※2011年06月10日追記ここでの最新のモダンブラウザとは、具体的には、当初は「Firefox 4、Safari 5、Google Chrome 11・12」を指していましたが、Safari 5、Google Chrome 11・12 においては一部の操作の挙動が不安定であることが判明したため、現在のところ(2011年06月10日〜)、Firefox 4 のみ有効としています。※2011年06月11日追記Safari 5 に対応しました。ということで、現在のところ(2011年06月11日〜)、Firefox 4 と Safari 5 において有効となっています。また、この対応に加えて、一旦表示されたページのデータを保存・再利用するように変更しています。これにより、モダンブラウザか否かや履歴の有無を問わず、一度表示されたページを再表示する場合には、サーバへのリクエストを伴うことなく迅速に表示されるようになっています。※2011年08月08日追記Google Chrome 13 において、想定通り稼働することを確認しました。ということで、現在のところ(2011年08月08日〜)、Firefox 4 、Safari 5 、Chrome 13 以降において有効となっています。
*2:当サイトの内部リンクをいくつかクリックしていただいた方はお感じになられておられることと思いますが、Ajax リクエストにもかかわらず、コンテンツが更新されるまでにそれなりの時間がかかってしまっています。この問題は、Ajax リクエストにおいてもページ全体のデータを構築するためには、通常リクエストの場合と同等の処理を行う必要があることに加えて、当サイトが使用しているサーバの能力がそれ程強力ではないということに由来しています。一方、最新のモダンブラウザにおいて Back ボタン・Forward ボタンを使用していただいた場合には、ブラウザに保持させているデータを再利用するため、エフェクトの終了と同時にコンテンツが更新されるはずです。本来的には(サーバにそれなりの能力があれば)、内部リンクをクリックした際にも、Back ボタン・Forward ボタンをクリックした場合と同等の早さでコンテンツが更新されるような状態、及び、それによる快適なユーザー・エクスペリエンスの提供を目指しています。