gpt4 book ai didi

javascript - Cookie 同意后如何加载 Adsense?

转载 作者:行者123 更新时间:2023-12-04 16:14:58 24 4
gpt4 key购买 nike

该网站设置为选择接受 cookie 同意,但是当第一次访问者点击接受 cookie 按钮时,adsense 代码不会加载,除非刷新整个页面。

有没有一种方法可以在点击 cookie 接受按钮后加载广告,而不必刷新整个页面?

使用此 cookie 同意 jquery 插件:IHaveCookies

这是我使用的允许加载 adsense 的代码的一部分:

    $(document).ready(function() {
$('body').ihavecookies(options);

if ($.fn.ihavecookies.preference('ads') === true) {
var src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
var newScript = document.createElement("script");
newScript.type = "text/javascript";
newScript.setAttribute("async", "true");
newScript.setAttribute("src", src);
document.body.appendChild(newScript);
}

上面的代码确实有效,但它不允许在页面刷新之前显示广告。是否可以在上述代码中添加“刷新”属性,使广告加载到“ihavecookies.preference('ads') === true)”而不刷新页面?

可以查看我实现的网站Here

仅供引用....目前没有为欧盟或加利福尼亚游客加载广告(但这是一个单独的问题,不与本主题一起解决)

最佳答案

与您使用的插件没有直接关系,但我的回答有望引导您朝着正确的方向前进。首先,有两个 AdSense 帮助页面可能会对您有所帮助:

Google 发布商广告代码中的广告个性化设置: https://support.google.com/adsense/answer/7670312

广告个性化设置的广告代码示例: https://support.google.com/adsense/answer/9042142

我将自定义 Cookie 同意解决方案与 AdSense 结合使用(我将自动广告与非个性化选项结合使用),这是我正在做的事情:

1. 我把下面的代码放在<head>之间标签,在将显示广告的页面上:

编辑:仅在/在同意后才将以下内容添加到您的页面。 (感谢@Avatar)

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1;</script>

这会加载 AdSense JS 文件,但会暂停广告加载,因此不会放置任何 cookie。

2. 在我控制显示/隐藏同意横幅的 JS 文件中,我将以下代码用于这些操作:a) 用户通过单击“确定”表示同意,b) 如果同意则加载新页面之前给出:

(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1;
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0;
(adsbygoogle=window.adsbygoogle||[]).push({google_ad_client:'ca-pub-YOUR-ADSENSE-ID',enable_page_level_ads:true});

如果您使用的是个性化广告,您可以删除第一行。

在其他情况下不会加载广告(例如,用户什么都不做,用户点击拒绝,用户之前拒绝的新页面加载)。我确实放置了一个 cookie 来跟踪拒绝,这样同意横幅就不会在每次页面加载时显示。

关于javascript - Cookie 同意后如何加载 Adsense?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59729701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com