2009-06-18 16 views
1

ユーザーは一連のオプションをフィルタリングし、最終的に仕様を満たす製品のフィルター済みリストを表示するのに役立つJQueryとAjaxを使用してページを作成しました。動的コンテンツを含むAjaxのバック・ボタン

これはすべて問題なく動作します。

Ajaxの「戻るボタン」の問題は、静的コンテンツ(Filter.php#Step2)のアンカーでこれを回避する方法を知っています。

しかし、スペック・リンクをクリックしたときにAjaxがリンク・パラメータを適用して同じページを再度ロードすると、これは6回まで繰り返され、その後、ユーザーはリダイレクトされますフィルタされた商品URLに追加します。

ユーザが「戻る」をクリックすると、もちろん、フィルタページは最後のステップ(ステップ6)ではなくステップ1からリロードされます。

これが可能であれば、誰でも知っていますか?

答えて

1

前の手順、変更window.location.hashに戻ることができるようにしたいたびに。

e。

window.location.hash = 'step1'; 

これは、URLの#foo部分を変更します。 JavaScriptにタイマーが必要で、ハッシュが変更されたかどうかを確認します。バックボタンを確実に検出する方法がないためです。私はこれは私がこれで少し見ていたし、私はそれはかなりダイナミックなクエリ文字列を引くよりも、静的なコンテンツのために設計されていると思い

+0

あなたの投稿は私にチュートリアルを思い出させました。私はしばらく前にhttp://yensdesign.com/2008/11/creating-ajax-websites-based-on-anchor-navigation/ を読んでいます。それは適切です。 – ticallian

0

これは私が個人的に前に実装したとは言えませんが、jQueryツールのタブコンポーネントは似たようなことをしています。私はそれがあなたの特定の状況ではうまくいくかどうかはわかりませんが、彼らのアプローチを出発点として検討する価値があるかもしれません。

jQuery Tools AJAX:ed tabs with History support

+0

役に立てば幸い

var oldHash = window.location.hash; setInterval(function(){ if(window.location.hash != oldHash) { //the hash was changed, do something } }, 50); 

...の線に沿って何か。 – ticallian

関連する問題