0

我在我的网站上使用这个 jQuery 模态窗口脚本:http ://www.zurb.com/playground/reveal-modal-plugin

当前,当用户单击链接时,它会激活模态窗口。但是,我想将其修改为在第一次加载页面后自动运行。但是同一用户随后访问同一页面将不会再次激活该脚本。我可能会弄清楚如何让它自己在页面加载时运行。但是让它只触发一次,然后再也不会发生是我不熟悉的事情。

任何帮助将不胜感激。

4

1 回答 1

3

您需要在该客户端的浏览器中持久保存一些内容,或者如果这是一个用户拥有个人资料的 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
     }
});
于 2012-05-16T11:35:04.910 回答