我构建了一个仅使用一个html文件和css + jquery函数的网站,以加载div作为子页面而不会使页面过载。问题是当我向某人发送链接时,我无法管理如何加载另一个div而不是 #home。
例如,如果我想让你看到名为"报价"的子页面,我可以简单地向你发送链接www.page.com/index.html#offer
但是由于此功能,此解决方案不起作用:
window.location.replace("index.html#home");
它总是加载 #homediv,即使我在链接中有一个具有不同div名称的指定链接。
我该如何解决这个问题?
尝试
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的替代方案!(我不明白为什么你不能只制作这些单独的页面;那会更好)