在第一页加载时触发jquery脚本,然后再从不为该用户加载?

时间:2012-05-16 11:27:26

标签: jquery

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

当用户点击链接时,它会激活模态窗口。但是,我想将其修改为在第一次加载页面后自动运行。但是,同一用户随后访问同一页面将不会再次激活该脚本。我可能想知道如何让它自己在页面加载上运行。但是让它只发射一次,然后再也不是我不熟悉的东西了。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您需要在该客户端的浏览器中保留持久性内容,或者如果这是一个用户具有配置文件的Web应用程序,则需要在服务器端跟踪状态。

如果你在所有客户端都这样做,你可能会使用cookie。您可以从服务器端或JavaScript中设置cookie。

以下是一些设置cookie / get 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
     }
});