背景:最近在做微信点餐,在菜单列表把菜品添加到购物车,添加菜品时我用javascript局部刷新,点击按钮跳转查看我添加的所有菜品,然后我再次点击微信的返回按钮,会发现我之前点的菜都没有了。这样的结果会给用户造成一个假象,我的菜并没有添加到购物车。

说白了就是由子页面返回父页面时没有刷新父页面。

解决方法:

首先我考虑用JS去监控返回按钮事件,然后发现JS并不能监控返回按钮

然后我采用window.onpopstate的事件

代码:

<script type="text/javascript" >
window.onpopstate = function (event) {
if (event.state == null) {
window.location.href = "prolist.aspx?type=" + type + "&categoryId=" + categoryId + "&img=" + img;
}
};
//绑定事件处理函数.
history.pushState({ page: 1 });
history.pushState({ page: 2 });
history.back();
history.back();
</script>

 

点击返回按钮,这样就能够刷新prolist.apsx页面

posted on 2015-08-06 16:05  枫残红  阅读(542)  评论(1编辑  收藏  举报