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