4

私はプロジェクトのために一連の基本的なアコーディオンを構築しています。

静的でリンク可能なページが必要です。そのため、開いている状態ごとに個別のページも作成しました。

例えば、

/whoweareがメインスライダーです。

ただし、/ whoweare/whatwedoにサブスライダーがあります

ユーザーが/whoweareのヘッダーをクリックすると、スライダーが開き、URLバーが/ whoweare / whatwedoに更新されますが、実際のリダイレクトはありません。URLの場所は単に変更するだけで、それ以上は変更しないでください。

使ってみました

window.location.replace($(this).attr('href'));
return false;

しかし、それは私が望んでいたことを達成していないようです、それでも新しいページにリロードします。

他に何か提案はありますか?

4

2 に答える 2

11

リダイレクトせずにURLを変更することはできません。これはフィッシングの悪夢になります(たとえば、フィッシングサイトに滞在中にURLを銀行のURLに変更するなど)。

ドキュメントハッシュ(つまり、http://domain.com/#identifier )のみを操作できます。これは、Google、FacebookなどがAJAXサイトにブラウザ履歴のサポートを提供する方法です。

#352343の正確な複製。更新せずにブラウザのアドレスバーを変更します。

更新: HTML5で許可されるようになりpushStateましたが、同じドメイン内でのみ可能です。

于 2009-10-26T18:28:15.260 に答える
0

BenAlmanのjQuerybbqプラグインをチェックしてください

$ .bbq.pushState()-http: //benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs/

于 2011-12-10T18:51:21.037 に答える