5

URL の変更 (リロードなし) について多くの質問を見つけました。いくつかの答えは-プラグインを使用する、location.hash...を使用する、またはリロードする

しかし、どれも私のために働いていませんでした。

ウェブサイトにはドロップダウン メニューがあり、その変更時に url パラメータが変更されているはずです。

だから私がやろうとしていることは次のとおりです。

www.foo.com?country=Germany変更し たい:www.foo.com?country=Sloveniaリロードなしに。

私が達成しようとしていることは可能ですか?

4

2 に答える 2

4

新しいブラウザではできます。古いものでは、ハッシュのみを変更できます。これは、このトピックに関する良い記事のようです: http://html5doctor.com/history-api/

于 2013-03-29T20:09:28.920 に答える
2

あなたが探しているのは、HistoryHTML5 が提供する API です。history.pushState(...)、などの機能が付属しているhistory.popState(...)ため、新しい URL をまったく割り当てることなく URL を動的に変更できます。

おそらく Facebook 自体を含む多くのサイトで使用されており、チャット ボックスを開いてページ間を移動すると、チャット ボックスがリロードされません。これは、すべての新しいコンテンツが Ajax を介して取得されていることを意味しますが、URL は変更されません。しかし、そうです。history.pushState(...)新しい状態を履歴スタックにプッシュするだけで、ページの特定の部分だけが変更されると思います。ここに優れたチュートリアルがあります。

于 2013-03-29T21:47:38.783 に答える