windows.location.replace 始终重定向,添加一个 IF



我构建了一个仅使用一个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的替代方案!(我不明白为什么你不能只制作这些单独的页面;那会更好)

相关内容

  • 没有找到相关文章

最新更新