0

古いブラウザーで履歴 (pushState など) を処理するために History.js を使用したいのですが、ハッシュを「通常の」URL パスに自動的に変換するデフォルトの動作を無効にする必要があります。つまり、デフォルトでは、スクリプトは link#hash を link/hash に変更します。「otherlink」の状態をプッシュすると、古いブラウザーに #otherlink ハッシュが与えられるため、引き続き処理できますが、ページが読み込まれたときに link#hash を link/hash に自動的に変更しないようにする必要があります。History.js には自動初期化コードが含まれているようで、カスタマイズされたオプションでロードする方法さえわかりません。

具体的には、私が必要とするものは次のとおりです。

  • ページ link#hash は link#hash のままです
  • History.pushState (..., "#hash") は状態をプッシュしますが、ページは page/hash ではなく page#hash になります
  • History.pushState (..., "hash") は、最新のブラウザーではページ/ハッシュになりますが、古いブラウザーでは page#hash になります (スクリプトは、適切なコンテンツを読み込むために処理する必要があるものを処理します)。

それが理にかなっていることを願っています。そうでない場合は、より多くの情報を提供できます。手伝ってくれてありがとう。

4

1 に答える 1

1

https://stackoverflow.com/a/21673425/2903169

今日以前に行った以前の回答から引用しました(history.jsにハッシュを保持することはよくある質問のようです)

History.js github リポジトリ内で、ハッシュタグをデフォルトとして強制するオプションを設定できます

History.js Github Readme、オプション リンク

History.options.html4Mode true の場合、HTMl4 モード (ハッシュタグ) を強制します

于 2014-02-10T09:52:19.563 に答える