嘿我想制作一个每天出现一次的JavaScript提示。
我的实际代码是:
<script>
var pass; var pass1="mypassword";
password=prompt('Please enter your password to view this page!',' ');
if (password==pass1)
alert('Password Correct! Click OK to enter!');
else
{
window.location="http://mywebsite.com";
}
</script>
使用此代码,每次刷新时都会出现提示
答案 0 :(得分:1)
您可以设置一天后过期的Cookie:https://www.w3schools.com/js/js_cookies.asp
以下是修改代码的示例:
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function isLoggedIn() {
if(getCookie("isLoggedIn") === "true") {
return true;
} else {
return false;
}
}
var pass1 = "mypassword";
if(isLoggedIn() === false) {
var password = prompt('Please enter your password to view this page!',' ');
if(password === pass1) {
alert('Password Correct! Click OK to enter!');
setCookie("isLoggedIn", "true", 1);
} else {
window.location.reload;
}
}
请注意,以这种方式存储正确的密码是不安全的,因为任何人都可以看到源代码并查看正确的密码,更安全的方式是做一些像Nodejs应用程序这样的服务器端。同样在这个实现中,任何人都可以将isLoggedIn cookie设置为true并通过它来获取,更安全的方法是将一些令牌设置为服务器可以验证的cookie,以查看它是否已过期,或者是否进入Nodejs路由,有更多的资源来进行安全认证