我以下列方式使用jQuery地址插件: 1.用户访问主站点(example.com) 2.用户点击文章标题。地址插件将地址更改为(example.com/article-1),Ajax将文章加载到页面中。 3.用户“关闭”这篇文章。地址插件将地址更改为(example.com)并从页面中删除文章。
如果用户按下后退/前进按钮,页面将返回/前进此步骤。
这是工作流程。但是,当用户处于步骤2(加载文章)时,我注意到了一个问题。 (example.com/article-1)链接到真实文章页面。因此,如果在该步骤中用户按下重新加载浏览器按钮,则转到文章唯一页面。这是预料之中的。但是如果他按下后退按钮,那么地址会变为(example.com)(预期),但不会重新加载页面,当它应该重新加载时它会卡在这篇文章中的唯一页面,因为它通常没有插件到(example.com)。
$.address.state('example.com');
$.address.change(function(event) {
if (event.value == 'example.com') {
close_article();
$.address.value('');
} else {
open_article();
$.address.value(event.value);
}
});