首次加载时仅加载一次广告 (div)

2024-03-13

我想知道如何才能让一个 div 具有要加载的广告或仅在第一次加载页面时可见,但每次刷新页面时隐藏它?

我只有用 Jquery 加载 div 的代码,但不知道刷新页面后如何隐藏它:

$(document).ready(function() {
  $(".referralProgram").fadeIn("slow");
});

使用cookie:

$(document).ready(function() {
    if (!readCookie("adSeen")) {
        $(".referralProgram").fadeIn("slow");
        createCookie("adSeen", "1", 1000);
    }
});

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    } else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

Cookie 功能来自怪异模式 http://www.quirksmode.org/js/cookies.html#script.

Edit:由于很多人都在讨论如何在禁用 cookie 的情况下处理此问题,因此应该指出,服务器会话实现依赖于 cookie 或 url 中的会话标识符。充其量,只要会话标识符位于网址中,您就只能阻止为同一用户显示广告。返回没有会话 ID 的主页将重新显示广告。此外,如果用户共享 URL,粗心的实现(甚至一些谨慎的实现)可能会导致其他用户误报。localStorage在大多数(如果不是全部)浏览器中禁用 cookie 的情况下,解决方案将无法使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

首次加载时仅加载一次广告 (div) 的相关文章