Ajaxなページで「戻るボタン」を機能させる方法
2007年02月22日
Ajax Back Button Hack
Ajaxなページで「戻るボタン」を機能させる方法。
Ajaxなページでは、ブラウザの「戻るボタン」を押すと、通常は、前に開いていたページに戻ってしまいます。
Ajaxでページを1,2,3と開いていって、2に戻りたいのに、前に開いていたページに戻るのは利用者としては不本意な動作です。
そこで、IFRAMEを使った、Ajaxでの「戻るボタン」実装ハック方法の紹介。
Ajaxで画面を切り替えた際に、IFRAMEのsrcも切り替えることで戻るボタンを動作させることが出来ます。
例えば、javascriptで次のようにIFRAMEのsrcを切り替えます。
<iframe id="bbFrame1" src="http://www.yahoo.co.jp"></iframe>
<script type="text/javascript">
var bbFrame1 = document.getElementById("bbFrame1");
bbFrame1.src = http://phpspot.org/;
</script>
IFRAMEが最初、http://www.yahoo.co.jp/ を開いていますが、JavaScriptによってIFRAMEの中身が http://phpspot.org/ に書き換わります。
ここで、戻るボタンを押すと、IFRAME内のアドレスが、http://www.yahoo.co.jp に変わります。
IFRAMEの幅と高さが1ピクセルであっても同じように動作します。
これは、ブラウザの戻るボタン、次へボタンを、見た目的には何も起こさせないように制御できるということです。
IFRAMEを見えないようにしておき、IFRAME内から、JavaScriptを呼び出すことで、戻るの動作をAjaxなページでも実装できるというわけです。
IFRAME内で動作させるスクリプトは、例えば、hogehoge.php?state=1 のようにアクセスできるものにしておき、
state=1の引数が渡された場合、1の状態に戻るようなJavaScriptを吐き出すものであればよいはずです。(state=2の場合は2の状態に)
戻るボタンを押したらとんでもない所に戻ってしまった、ということが無いように、こういった非公式な形ではありますが、実装しておくとよい面が多くありそうなので覚えておいて損は無いはずです。
投稿者 KJ : 2007年02月22日 07:09
|
![]()
間違いの指摘をしていただける方はメールでお願いします
最新のブログ記事
- Facebook風のサムネイル付きサジェストボックスを実装するサンプル
- 2009年7月3日 管理人のブックマーク
- PHPとCSSで動的に綺麗なパーセンテージグラフを描画サンプル
- 普通の写真をすばらしいアートにするためのPhotoshopチュートリアル集
- シマシマの見やすいテーブルを作成するMooToolsプラグイン「ZebraTable」
- 2009年7月2日 管理人のブックマーク
- 「フォローしてね」を表すTwitterアイコン集
- シンプルなTwitter検索を行うためのPHPスクリプト
- PHPのcURLを使ってできる便利なサンプル集
- 2009年7月1日 管理人のブックマーク
- iPhone3.0の緯度経度APIで移動履歴を地図描画するサンプル





















