我有这段代码
false
这意味着加载后8秒钟会出现一个弹出窗口并播放视频。我只希望在我第一次访问该网站时出现这个问题。我怎么能用jQuery做到这一点?
答案 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应用程序可以在用户的浏览器中本地存储数据。
什么是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');