a页面跳转到b页面,b页面的弹框,如不关闭弹框,无论如何刷新b页面始终显示弹框;如果关闭弹框,无论如何刷新b页面,都不会显示弹框。如何实现?写出代码
推荐localStorage
如果关闭弹框,执行localStorage.setItem("nowarn",true)
每次打开b页面的时候根据localStorage.getItem("nowarn")选择是否弹窗
弹框状态共享,可以做成切换页面不跳转的形式。比如单页面应用或者用 history.pushState
来改变地址栏,ajax 获取数据改变页面内容,这样打开的弹框在切换页面后状态不会改变。
首先你要保证两个页面都有这个弹框的html片段 和js css 代码。如果你做的是spa应用,那么请保证您的弹框是一个可以调用的组件。如果你的弹框代码不能公用,那请问何来的保持弹框不消失呢? 好,接下来就是要有一个状态来判断需不需要弹框了。这个状态 你可以通过传参的方式来做。如果你做的不是单页面应用,可以通过url传参或则sessionStorage localStorage cookie 等保存状态。如果是单页面,可以通过路由传参,父子组件传参,兄弟组件传参等。
可以用本地存储实现。sessionstorage,在临时的本地存一个状态,默认有个初始状态,每次页面刷新判断一次sessionstorage.getItem('tt'),点击关闭就直接直接sessionstorage。removeItem(‘tt’)就行了
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
5 回答3.8k 阅读
可以用本地存储实现。
localstorage
,在本地存一个状态,默认有个初始状态,每次页面刷新判断一次,关闭操作可以修改这个状态。