windows.location.replace总是重定向,添加一个IF

时间:2013-09-19 13:09:07

标签: jquery html css

我已经使用一个html文件和css + jquery函数构建了一个网站,将div作为子页面加载而不会使页面过载。事情是,当我向某人发送链接时,我无法管理如何加载另一个div而不是#home。

例如,如果我希望您看到名为“优惠”的子页面,我可以直接发送给您链接 www.page.com/index.html#offer

但由于此功能,此解决方案无效:

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

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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的替代方案! (我不明白为什么你不能只是制作这些单独的页面;那会更好)