广告横幅只显示一次浏览器会话
advertisement banner show only once in browser session
如何在网站中使用JavaScript或jQuery在浏览器会话期间仅显示一次广告横幅?一旦会话关闭,浏览器关闭,广告必须再次显示,当我在浏览器中再次打开网站。还有一件事,当我浏览网站时,横幅必须显示,除非它没有关闭。
您可以使用cookie来记住广告是否显示。
你可以使用这个插件:https://github.com/carhartl/jquery-cookie
创建一个显示广告的方法:
showAd() {
// cookie not set, display the ad and set the cookie
if($.cookie('adDisplayed') === 'undefined') {
// code to display the add
// .....
// set cookie
$.cookie('adDisplayed', '1', { expires: 7 }); // set the cookie
}
}
当用户离开页面时销毁cookie,绑定beforeunload事件
$(window).bind("beforeunload", function() {
$.removeCookie('adDisplayed');
})
使用 sessionStorage
。
sessionStorage
属性允许访问session Storage object
。sessionStorage与Window.localStorage
类似,唯一的区别是localStorage
中存储的数据没有过期集,而sessionStorage
中存储的数据在页面会话结束时获得清除。只要浏览器打开,页面会话就持续,并且在页面重新加载和恢复期间持续
在新的选项卡或窗口中打开一个页面将导致启动一个新的会话,这与会话cookie的工作方式不同。
var banner = document.getElementById('banner');
if (sessionStorage.getItem('set') === 'set') {
banner.style.display = 'none';
} else {
sessionStorage.setItem('set', 'set');
}
#banner {
width: 320;
height: 50px;
background: green;
text-align: center;
}
<div id="banner">Banner</div>
<小提琴演示/h2>
您可以使用这里解释的fadeIn()和fadeOut()方法
像这样:
var myVar = setInterval(myTimer, 1000);
function myTimer() {
$("#banner").fadeOut();
}
https://jsfiddle.net/bc8jgoga/您可以使用JavaScript设置cookie来记住访问。
例子strong>
<div id="banner"></div>
<script>
if(typeof $.cookie("banner") === 'undefined' || $.cookie("banner") != "1") {
$("#banner").html("My Banner");
$.cookie("banner", "1");
}
window.addEventListener("beforeunload", function (e) {
$.removeCookie("banner");
});
</script>
相关文章:
- $watch回调每次在浏览器中触发,但在测试期间只触发一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 每个用户/浏览器会话只加载一次Javascript
- 显示弹出脚本,使其在每个浏览器会话中只弹出一次
- IE9浏览器中的内联ckeditor只工作一次(在弹出面板中)
- 浏览器化只执行一次模块代码,在多个需要调用上
- 如何删除浏览器在一次请求期间添加的所有 Cookie
- 每个浏览器会话弹出cookie一次
- 如何在浏览器中使用F12控制台在javascript中每隔一段时间执行一次
- 在浏览器中只显示PDF一次,然后将其从C#服务器中删除
- 我们可以访问主流HTML页面中浏览器下一次请求的URL吗;s卸载功能
- 检查浏览器's定位是否只打开过一次
- 每个浏览器会话运行一次脚本,但在结束时冻结脚本
- 强制Android浏览器每秒钟重画一次
- 是否存在检测最后一次导航事件是否由后退或前进浏览器按钮引起的方法
- 是否有一种方法可以在web浏览器中一次删除所有事件侦听器
- 重新加载页面只一次是不工作的窗口版本的safari浏览器
- 音频播放一次只在谷歌浏览器的html
- 的位置.哈希只在chrome和safari浏览器中生效一次
- 广告横幅只显示一次浏览器会话