Javascript 使用pushState创建;链接“;在AJAX网站上生成404
目前,我的网站只设置了一个html文件,该文件使用点击javascript函数在用户导航时以不同方式显示网站的各个部分。主页包含一个音频播放器,我希望在用户导航时继续播放,这就是我选择AJAX路线的原因 我在整个站点上实现了pushState,为用户导航到的每个部分生成URL。这些链接不起作用 关于这一点,我有几个问题:我应该使用pushState来生成这些URL,还是以错误的方式生成链接?有没有一种方法可以让用户在站点中重新加载一个深度嵌入的页面,然后用javascript服务器端构建页面 编辑:我觉得如果我可以将所有这些链接路由到一个javascript文件,然后构建相应的页面,也许这样可以工作?不确定这是不是解决问题的方法Javascript 使用pushState创建;链接“;在AJAX网站上生成404,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,目前,我的网站只设置了一个html文件,该文件使用点击javascript函数在用户导航时以不同方式显示网站的各个部分。主页包含一个音频播放器,我希望在用户导航时继续播放,这就是我选择AJAX路线的原因 我在整个站点上实现了pushState,为用户导航到的每个部分生成URL。这些链接不起作用 关于这一点,我有几个问题:我应该使用pushState来生成这些URL,还是以错误的方式生成链接?有没有一种方法可以让用户在站点中重新加载一个深度嵌入的页面,然后用javascript服务器端构建页面 编
$('#菜单a')。单击(函数(){
var page=$(this.attr('href');
history.pushState({},,,第页);
$('#news').load('content/'+page+'.php');
返回false;
});代码>如果链接实际不起作用,则不应使用Pushstate。
您可以使用哈希来轻松实现这一点。
您可以在hashchange上调用事件onhashchange
散列存储在window.location.hash属性中。也不需要修改浏览器历史记录
请参阅和是否无代码?来吧我编辑并添加了一个jQuery函数,该函数正在加载页面的另一种状态。感谢您提供的信息!现在查看onhashchange。如果我将example.com/#foobar标记为书签,然后打开此链接,浏览器如何知道如何处理该哈希?或者,如何让我的javascript从标记的链接捕获此哈希并对其进行处理?实际上,我想我找到了答案。我在$(document).ready(function())中包含了一个“if(window.location.hash)”函数。这将检查单击的URL是否有哈希,然后执行一个操作以正确呈现页面。再次感谢您的帮助。