我在我的网站上使用这个 jQuery 模态窗口脚本:http ://www.zurb.com/playground/reveal-modal-plugin
当前,当用户单击链接时,它会激活模态窗口。但是,我想将其修改为在第一次加载页面后自动运行。但是同一用户随后访问同一页面将不会再次激活该脚本。我可能会弄清楚如何让它自己在页面加载时运行。但是让它只触发一次,然后再也不会发生是我不熟悉的事情。
任何帮助将不胜感激。
我在我的网站上使用这个 jQuery 模态窗口脚本:http ://www.zurb.com/playground/reveal-modal-plugin
当前,当用户单击链接时,它会激活模态窗口。但是,我想将其修改为在第一次加载页面后自动运行。但是同一用户随后访问同一页面将不会再次激活该脚本。我可能会弄清楚如何让它自己在页面加载时运行。但是让它只触发一次,然后再也不会发生是我不熟悉的事情。
任何帮助将不胜感激。
您需要在该客户端的浏览器中持久保存一些内容,或者如果这是一个用户拥有个人资料的 Web 应用程序,您需要跟踪服务器端的状态。
如果你在客户端做这一切,你可能会使用 cookie。您可以从服务器端设置 cookie,也可以在 JavaScript 中设置。
以下是一些设置 cookie/获取 cookie 功能:
function setCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)
+ ";expires="+expire.toGMTString();
}
function getCookie(cookieName) {
var theCookie=" "+document.cookie;
var ind=theCookie.indexOf(" "+cookieName+"=");
if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"=");
if (ind==-1 || cookieName=="") return "";
var ind1=theCookie.indexOf(";",ind+1);
if (ind1==-1) ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+2,ind1));
}
所以,你会像这样把它绑在一起:
$(function() {
var skipModal = getCookie('skipModal');
if (!skipModal) { // check and see if a cookie exists indicating we should skip the modal
// show your modal here
setCookie('skipModal', 'true', 365*5); // set a cookie indicating we should skip the modal
}
});