a页面跳转到b页面的弹框保留问题?

a页面跳转到b页面,b页面的弹框,如不关闭弹框,无论如何刷新b页面始终显示弹框;如果关闭弹框,无论如何刷新b页面,都不会显示弹框。如何实现?写出代码

阅读 5.6k
7 个回答

可以用本地存储实现。localstorage,在本地存一个状态,默认有个初始状态,每次页面刷新判断一次,关闭操作可以修改这个状态。

跳转时候给b页面带上参数就行,比如b.html?open=true,然后在b页面上无论是用js判断还是后端渲染判断都行。

推荐localStorage
如果关闭弹框,执行localStorage.setItem("nowarn",true)
每次打开b页面的时候根据localStorage.getItem("nowarn")选择是否弹窗

弹框状态共享,可以做成切换页面不跳转的形式。比如单页面应用或者用 history.pushState 来改变地址栏,ajax 获取数据改变页面内容,这样打开的弹框在切换页面后状态不会改变。

首先你要保证两个页面都有这个弹框的html片段 和js css 代码。如果你做的是spa应用,那么请保证您的弹框是一个可以调用的组件。如果你的弹框代码不能公用,那请问何来的保持弹框不消失呢? 好,接下来就是要有一个状态来判断需不需要弹框了。这个状态 你可以通过传参的方式来做。如果你做的不是单页面应用,可以通过url传参或则sessionStorage localStorage cookie 等保存状态。如果是单页面,可以通过路由传参,父子组件传参,兄弟组件传参等。

用客户端缓存比较容易实现吧,localStorage等

新手上路,请多包涵

可以用本地存储实现。sessionstorage,在临时的本地存一个状态,默认有个初始状态,每次页面刷新判断一次sessionstorage.getItem('tt'),点击关闭就直接直接sessionstorage。removeItem(‘tt’)就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题