我正在开发应用中的消息部分,并且遇到了history.pushState的一些问题。基本上,我有2个视图,一个列出所有线程,一个显示单个线程。当用户单击某个线程(链接设置为remote = true)时,rails会使用我的show.js.erb文件进行响应。该文件包含
$("#layout-body").html("<%=j render :partial => 'thread' %>");
if (Modernizr.history) { history.pushState("test: testy", null, "<%=j raw message_thread_url(params) %>"); }
目前,当点击该主题时,该网址会正确更新为/ messages / ID。但是,当我点击后退按钮时,网址会更改回/消息,但页面内容不会更改。我该如何开展这项工作?我是以正确的方式去做的吗?
答案 0 :(得分:1)
您必须回复popstate
事件。
window.addEventListener("popstate", function(e) {
console.log(location.pathname);
});