0

我已经建立了一个网站,只使用一个 html 文件和 css + jquery 函数来加载 div 作为子页面而不会超载页面。问题是当我向某人发送链接时,我无法管理如何加载除 #home 之外的另一个 div。

例如,如果我希望您看到名为“Offer”的子页面,我可以简单地向您发送链接 www.page.com/index.html#offer

但是由于此功能,此解决方案不起作用:

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

并且它总是加载#home div,即使我在链接中有一个具有不同 div 名称的指定链接。

我怎样才能解决这个问题?

4

1 回答 1

1

尝试

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

如果不存在,这会将散列( 之后的部分#)设置home为,但如果手动指定,则保持不变。因此,example.com/index.html将变为example.com/index.html#home,但example.com/index.html#offer将保持不变。

警告:如果您使用此技术,禁用 JavaScript 的用户将无法看到您的页面。记得提供一个没有 JS 的替代方案!(我不明白为什么你不能只制作这些单独的页面;那会更好)

于 2013-09-19T13:12:06.820 回答