2

そのため、サイトを再設計した後、HTML5 history API を使用しようと考えました。ここで見事に使用されているのを見たとき: http://diveintohtml5.ep.io/examples/history/casey.html

問題は、提供されたコードが機能しないことです (Chrome 8 を使用)。

理由はよくわかりませんが、部分的なコンテンツが正常に読み込まれた後、リンクの href 値でページを更新するだけです。

この API の使用例は他にありますか? フォールバックとして hash/hashbangs を使用するため、History.js などは必要ありません。私はこれらを取り除こうとしています。

何か案は?

編集: Firebug は、部分的に読み込まれたコンテンツに対する無数のリクエストと同様に、「リンクに値がありません」というメッセージをスローします。これらの後、ページが更新されます

4

1 に答える 1

2

リンクのクリックをインターセプトし、独自の pushState を呼び出す必要があります。ページのコードを確認すると、イベント ハンドラーが表示されます。

function addClicker(link) {
  link.addEventListener("click", function(e) {
    if (swapPhoto(link.href)) {
      history.pushState(null, null, link.href);
      e.preventDefault();
    }
  }, true);
}
于 2011-09-24T03:23:42.577 に答える