「戻る」ボタン無効化・別機能設定



2ページ目の表示です

次のページへ



…なんですか? これは

現在、何ページ目の表示かと、「次のページへ」のリンクがあります。

適当な回数、次のページへのリンクを押して、ページを進めてみてください。

3~5ページくらい進めば十分かな。URL の C= の値がそのページを示していますので、URL も注意してみてね。

この解説は、どこのページでも読めますので、ページを進めたら続きを読んでください。




進めましたか? 進めましたね?

では、「ブラウザの」戻るボタンを押してみましょう。




あらふしぎ。1ページ目に戻りました。URL も、たしかに1ページ目のものです。

…あれ? あまり不思議に思ってない?


よく考えて見ましょう。Javascript は、「ページ内のものを」結構自由に操作できますが、ブラウザの戻るボタンの機能までは書き換えられないのです。


HTML5 では、もっと簡単に書き換え可能ですね。(history.replaceState)
ここに書いた技法は、仕事で開発したもので、HTML5 「未対応」ブラウザも相手にする必要がありました。
後日、HTML5 で「素直に」対応したバージョンも作ろうと思います。が、それは普通の使い方なので、Tips ではないな…

1ページ目に戻ろうと思ったら、あなたが進めたページの分だけ、順番に戻らないといけないはず。


もう少し実験してみましょう。

次の select ボックスで、戻りたいページを指定してから、やはりブラウザの戻るボタンを押してみてください。


現在は2ページ目

どのページに戻り(進み)たい?

選んだらブラウザの「戻る」ボタンを押してね。




選んだページに戻れたでしょう?

「戻る」ボタンの戻り先(進み先?)は、固定ではなく、自由に書き換えられるのです。

今は実験だから、C= の部分しか変えていませんけどね。



もちろん、先に書いたように、Javascript では「戻る」ボタンの機能を書き換えることはできません。

ここでやっているのは、まるで書き換えたかのように見せる「Hack」です。

だから、しつこく戻り続けると、いつか Hack された「履歴」の中を突き抜けて、本当の以前のページに戻れたりします。


解説は、以前に日記に書いているのでそちらを参照のこと。

日記の文章書いたの、2011年3月11日でした。大変なことがあったので、アップロードは1ヶ月以上たってからになりましたが。


…で、ごめんなさい。このページにいる限り、戻るボタンの機能が書き換えられているので、リンクなどから別のページに抜けてください。

ホント、ご迷惑をおかけします…

(ページ作成 2011-09-15)

戻る
トップページへ

-- share --

0001

-- follow --




- Reverse Link -