2013-06-14 12 views
5

私は一緒にこのJavaScriptのスニペットで「戻る」と「進む」ボタンの両方をターゲットにしています:ターゲットブラウザ戻る]ボタンや[進む]ボタン

私は「戻る」と「進む」ボタンとターゲットを区別することができますどのように
window.addEventListener("popstate", function(event) { 
    // do something cool 
} 

彼らのイベントは別々に?

+2

私が考えることの1つの方法は、あなたが 'pushState'をステートオブジェクトに追加し、' pushState'を実行するたびにそれを増やすことです。あなたが前進または後退するとき、その数を現在の状態と比較して、その数が大きくなっているか小さいかを調べることができます。これがうまくいくかどうかはわかりませんが、それは考えです。 –

+0

面白いアイデア、@RocketHazmat、ありがとう! –

+0

ようこそ。これを行うための "公式の"方法があるかどうかはわかりませんが、それはうまくいくはずです。私はちょっと忙しいので、例を挙げてみる時間がありません:-) –

答えて

0

正しく実装している場合は、バック/フォワードや履歴を追跡する必要はありません。ロードする各XMLファイルには一意のIDが与えられ、スラッシュをアンダースコアに置き換え、実際のURLにはアンダースコアを使用しないでください。代わりにダッシュを使用します。あなたがWindows 8を使って作るURLスキームを持っていないと仮定すると、比較して非殺人的であるように見えるのは、単に要求されたIDをチェックするだけです。

あなたは私のサイト上でどのようにpopstate作品を見ることができます...

http://www.jabcreations.com/blog/

FはCtrl +を行うと、ラインの周りに起動コードを見て...

window.onclick = function(e) 

。 ..here ...

http://www.jabcreations.com/scripts/index.js

場合は、y Firebugを使って#liquid(文字通り<body><div id="body"><div id="content"><div id"liquid">私のXHTML)を展開しています。

あなたが迷ったら教えてください。私はコードが何をしているのかを明確にします。また、できるだけ厳密にコードを設定するのに大いに役立ちます(XHTMLはapplication/xhtml + xml、XMLコンテンツはapplication/xmlとして提供する必要があります)。

+0

コンテンツを 'application/xhtml + xml'として扱うのは、IE 8を壊すのに適しています。また、あなたのサイトがダウンした場合、この答えは役に立ちません。リンクを避け、ここにコードを入れてください。 – Stijn

+0

@Stijn投票ダウンありがとう!明らかに、コンテンツ交渉について聞いたことはありません。 > __> IE8以前のバージョンを使用して私のサイトを閲覧したことがあります。フィガロはあいまいな質問をし、答えを得てそれを受け入れました。彼らの能力があなたを怒らせるのは明らかです。 – John

+0

それから、あなたは完全であり、IE 8の問題について言及する必要があります。そして、私は2つの理由であなたを落胆させました。実際には3分の1を追加します。 XHTMLはHTML 5に賛成して放棄されました。 – Stijn

関連する問題