仅在用户第一次访问网站时运行jQuery代码

时间:2016-02-14 20:40:52

标签: jquery cookies

我有这段代码

false

这意味着加载后8秒钟会出现一个弹出窗口并播放视频。我只希望在我第一次访问该网站时出现这个问题。我怎么能用jQuery做到这一点?

2 个答案:

答案 0 :(得分:8)

尝试使用 localStorage 而不是Cookie:

if (!localStorage.getItem('viewed')){
    setTimeout(function () {
        $("#videoOverlay").fadeIn();
        document.getElementById("video").play();
        localStorage.setItem('viewed','yes');
    }, 8000);
};

删除它:

localStorage.removeItem('viewed');

使用本地存储,Web应用程序可以在用户的​​浏览器中本地存储数据。

  

FROM http://www.w3schools.com/html/html5_webstorage.asp

什么是HTML本地存储?

在HTML5之前,应用程序数据必须存储在cookie中,包含在每个服务器请求中。本地存储更安全,可以在本地存储大量数据,而不会影响网站性能。

与Cookie不同,存储限制要大得多(至少5MB),信息永远不会传输到服务器。

本地存储是按源(每个域和协议)。来自一个来源的所有页面都可以存储和访问相同的数据。

  

使用: sessionStorage

您还可以使用等于 localStorage 对象的 sessionStorage 对象,但它只存储一个会话的数据。当用户关闭特定浏览器选项卡时,将删除数据。

if (!sessionStorage.viewed){
    setTimeout(function () {
        $("#videoOverlay").fadeIn();
        document.getElementById("video").play();
        sessionStorage.viewed=1
    }, 8000);
};

答案 1 :(得分:1)

你可以尝试这个jquery cookie插件 https://github.com/js-cookie/js-cookie

然后您可以将其与

一起使用
Cookies.get('name'); 
Cookies.set('name','value');