弹出窗口我想在 Javascript 中出现一次
Popup I want to appear once in Javascript
我正在制作一个静态网站(没有服务器端),我只能使用 HTML、CSS 和一些脚本。
我用我在每个页面中包含的 JS 制作了这个弹出脚本:
b=false;
if(!b)
{
window.accept();
}
function accept()
{
var r = confirm('By clicking you are ready to accept condition');
if (r == true)
{
x = "You pressed OK!";
b=true;
}
else
{
window.location = "http://google.com";
}
document.getElementById("demo").innerHTML = x;
}
我希望该弹出窗口只出现一次,因此我声明了一个布尔变量,一旦用户单击“确定”,该变量就会取相反的值。
不行,弹窗还在。
我建议您使用 cookie 来检查警告消息是否已经出现过一次。你可以在 link 上看到更多关于如何使用它的细节:
http://www.w3schools.com/js/js_cookies.asp
我会推荐本地存储而不是 cookie。由于漏洞问题,很多人都禁用了 cookie。如果您担心人们使用的浏览器关闭了本地/会话存储 - 您可以使用 Modernizr 之类的工具来检测并提供后备选项。
onpage load(使用checkState作为保存此信息的存储变量):
var checkState= localStorage.getItem('checkState');
if(checkState=="true"){
//code for accepted conditions}else
{//code for not accepted condition};
单击 "accept" 按钮时:
localStorage.setItem('checkState','true');
不知道本地存储比会话存储持续时间长,因此我倾向于更频繁地使用会话存储。但是这两种类型都允许您在不同的页面加载期间保留接受记录,并且不依赖于使用 cookie 的服务器/网络开销。此外 - 为了完整起见,本地和会话存储本身并不是安全的,不应用于存储敏感信息,例如密码等。
我正在制作一个静态网站(没有服务器端),我只能使用 HTML、CSS 和一些脚本。
我用我在每个页面中包含的 JS 制作了这个弹出脚本:
b=false;
if(!b)
{
window.accept();
}
function accept()
{
var r = confirm('By clicking you are ready to accept condition');
if (r == true)
{
x = "You pressed OK!";
b=true;
}
else
{
window.location = "http://google.com";
}
document.getElementById("demo").innerHTML = x;
}
我希望该弹出窗口只出现一次,因此我声明了一个布尔变量,一旦用户单击“确定”,该变量就会取相反的值。 不行,弹窗还在。
我建议您使用 cookie 来检查警告消息是否已经出现过一次。你可以在 link 上看到更多关于如何使用它的细节: http://www.w3schools.com/js/js_cookies.asp
我会推荐本地存储而不是 cookie。由于漏洞问题,很多人都禁用了 cookie。如果您担心人们使用的浏览器关闭了本地/会话存储 - 您可以使用 Modernizr 之类的工具来检测并提供后备选项。
onpage load(使用checkState作为保存此信息的存储变量):
var checkState= localStorage.getItem('checkState');
if(checkState=="true"){
//code for accepted conditions}else
{//code for not accepted condition};
单击 "accept" 按钮时:
localStorage.setItem('checkState','true');
不知道本地存储比会话存储持续时间长,因此我倾向于更频繁地使用会话存储。但是这两种类型都允许您在不同的页面加载期间保留接受记录,并且不依赖于使用 cookie 的服务器/网络开销。此外 - 为了完整起见,本地和会话存储本身并不是安全的,不应用于存储敏感信息,例如密码等。