0

簡単なオンライン申請をしています。いくつかのボタンと1つの「div」を備えたナビゲーションバーがあり、そこにすべての新しいコンテンツが動的にロードされます。つまり、「About」をクリックすると、ページ全体をリロードせずにページパーツが「div」にロードされます。 load()関数。問題は、Webサイトのドキュメントセクションへのリンクを提供する必要がある場合、またはユーザーがこの種のリンクを保存したい場合、サイトを閲覧するときにURLが書き換えられないことです。ユーザーがデフォルトのリンクを保存すると、常にデフォルトの「ホーム」部分にリンクされます。

URLを書き換えるにはどうすればよいですか?これを行うための最も正しい方法は何ですか?

4

2 に答える 2

1

私によると、適切な方法はURLのハッシュを更新することです。example.com/#Aboutな​​どのようなもの。人々はこれらをブックマークすることができます。URLのハッシュタグを読み取ってそれぞれのページをロードするときは、AJAX呼び出しを行うように注意する必要があります。

私がすることは、クリックする代わりに、 hashchangeイベントでajax呼び出しを行うことです。このイベントは、IE8からすべての最新のブラウザーでサポートされています。IE7をサポートしたい場合は、 BenAlmanによるhashchangeプラグインを使用してください。

于 2012-10-21T23:09:41.987 に答える
1

オプションとして、を使用できますlocation.hash
たとえば、ユーザーがクリックする<a href="#about">About</a>
と、「About」ページのコンテンツが読み込まれます。また、ブラウザのアドレスバーのURLは。のようなものに変更されますhttp://mysite.com/hello.jsp#about

これで、ユーザーはこのURLをコピーしてアクセスできます。

次に、$(document).ready()を確認し、そのアンカーをlocation.hash見つけて、適切なコンテンツをロードします。'#about'


もう1つのオプションは、Backbone.jsまたはその他のJavaScript MVCフレームワークを使用することです。これは、リッチなクライアント側アプリケーションを構築するのに役立ち、そのようなことを処理します。

于 2012-10-21T23:02:15.360 に答える