Javascript 如何在所有HTML页面中一次性弹出?
我有4-5个HTML页面,我想只显示一次弹出窗口,这意味着弹出窗口应该显示在每个页面。它工作得很好 但是,我希望,当使用关闭图标隐藏模式时,它在关闭窗口选项卡之前永远不会显示Javascript 如何在所有HTML页面中一次性弹出?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有4-5个HTML页面,我想只显示一次弹出窗口,这意味着弹出窗口应该显示在每个页面。它工作得很好 但是,我希望,当使用关闭图标隐藏模式时,它在关闭窗口选项卡之前永远不会显示 $(函数(){ if(localStorage.getItem('popState')!=“已显示”){ $(“#弹出窗口”).fadeIn(); setItem('popState','Showed'); } $(“#弹出关闭”)。单击(函数(e){ $('弹出').fadeOut(); setItem('popSta
$(函数(){
if(localStorage.getItem('popState')!=“已显示”){
$(“#弹出窗口”).fadeIn();
setItem('popState','Showed');
}
$(“#弹出关闭”)。单击(函数(e){
$('弹出').fadeOut();
setItem('popState','Showed');
});
});代码>
X
我们使用cookies使与我们的网站和服务的交互更容易、更有意义,包括学习如何理解它们的使用。你可以阅读更多关于我们公司的信息。继续
若要使用此网站,您必须同意我们的政策
我从您的问题中了解到,您希望在关闭之前在所有页面上显示弹出窗口。一旦用户关闭它,您就不希望在同一会话中再次显示它
您需要删除这两行,因为它们会在每次新html页面上重置会话存储,提示弹出窗口(即使它已关闭一次):-
您甚至可以根据需要尝试localstorage或cookie。您必须删除localstorage.setItem('popState','Showed')代码>来自if(localStorage.getItem('popState')!='showled')
,因为它是在页面加载时设置的本地存储
这样做
使用localStorage或cookie代替sessionStorage。我需要在关闭窗口选项卡后终止会话,我认为sessionStorage工作正常。那么,使用sessionStorage与您的问题不符。如果希望在窗口关闭后保存弹出状态,则必须使用比会话生命周期更长的存储介质。“欧盟Cookie法”只要求您在给定用户首次访问时显示使用信息栏。因此,我完全同意Rory的观点,LocalStorage
将是正确的存储区域,而不是SessionStorage
。我根据LocalStorage修改了问题,但这也不起作用,现在,当我刷新页面时,弹出窗口将关闭。我无法删除这两行,因为当用户转到另一个页面时,我必须清除当前页面上打开模式的会话。上面几行将清除会话存储,用户将在每个html页面上获得弹出窗口,即使他已关闭其中任何一个页面上的弹出窗口。浏览器窗口关闭后,默认情况下会清除会话存储。您不需要手动清除它。我在问题中修改了代码,但现在当我刷新页面时弹出窗口关闭
sessionStorage.removeItem('shown');
sessionStorage.clear();
$(function () {
if (localStorage.getItem('popState') != 'shown') {
$("#popup").fadeIn();
}
$('#popup-close').click(function (e) {
$('#popup').fadeOut();
localStorage.setItem('popState', 'shown');
});
});