0

ページを過負荷にすることなく、サブページとして div をロードするために、1 つの html ファイルと css + jquery 関数のみを使用して Web サイトを構築しました。問題は、誰かにリンクを送信しているときに #home 以外の別の div をロードする方法を管理できないことです。

たとえば、「Offer」というサブページを表示したい場合は、www.page.com/index.html#offer のリンクを送信するだけです。

しかし、このソリューションはこの関数のために機能しません:

window.location.replace("index.html#home");

リンクに異なるdiv名を持つ指定されたリンクがあっても、常に#home divをロードします。

どうすればこれを修正できますか?

4

1 に答える 1

1

試す

if (window.location.hash === "") {
    window.location.hash = "home"
}

これにより、ハッシュ ( の後の部分#) が存在しhomeない場合は に設定されますが、手動で指定された場合はそのままになります。したがって、にexample.com/index.htmlなりますが、同じままです。example.com/index.html#homeexample.com/index.html#offer

警告:この手法を使用すると、JavaScript が無効になっているユーザーはページを表示できなくなります。JS なしで代替手段を提供することを忘れないでください。(これらの個別のページを作成できない理由がわかりません。そのほうがよいでしょう)

于 2013-09-19T13:12:06.820 に答える