1

まず、これを読んで質問に答えてくれた皆さんに感謝します。これまでに提供された支援は非常に貴重であり、提供された支援のおかげで私はより優れたプログラマーになりました。

手元の問題に。少し荒いのではないかと思いますが、以下のスクリプトはほとんどの部分で機能します。

問題は、履歴が保存されている間、ユーザーが前後に移動してもページが変更されないことです。go関数がトリガーされるようにこれを変更するために私ができることを知っていますか?

$(document).ready(function(){

 $("a").click(function() {
  if (strpos($(this).attr('href'), 'mob.php') !== false) {
   window.location = url($(this).attr('href'));
   go(idToPath($(this).attr('href')));
   return false;
  }
 });
});

function go(num) {
 if (num != undefined) {
  $.ajax({
   url: "mob.php?p="+num+"&logo=0",
   cache: false,
   success: function(html){
    $("#ajax").html(html);
   }
  });
 }
}

$.history.init(function(u) {});
var page = 4;
var id = window.location.hash.substr(1);
if (id != '' && page != id) {
 go(id);
}
4

3 に答える 3

1

そのようなイベントはありません。

ただし、履歴プラグインを使用することもできます。その方法については、http: //www.mikage.to/jquery/jquery_history.htmlを参照してください。

于 2010-06-22T08:18:14.417 に答える
0

まあ、私はこの問題の解決策がわからない。

しかし、私はこれに対する一時的な解決策を思いつきました。

  1. Ajaxをナビゲートするすべてのページの先頭に、ページ情報と追加のパラメーターを保存します。お気に入り$_SESSION['page'][] = "book.php?cat=1"
  2. ブラウザの履歴イベントに関数をアタッチし、カスタム関数を呼び出して必要なURLを取得し、それにリダイレクトします。

これはあまり答えではありませんが、大まかなアイデアが得られるはずです。:)

于 2010-06-22T08:17:04.140 に答える
0

ブラウザの状態の組み合わせにajaxを追加すると、ここに記載されているように多くの複雑な問題が発生します: URLでAjaxリクエストを表示する方法は?

jQuery Ajaxyプロジェクトは、ajaxとブラウザーの状態を使用することから始めるのに最適です。

于 2010-09-18T11:55:08.827 に答える