【问题标题】:Refresh a Div that has a Google ad inside it刷新其中包含 Google 广告的 Div
【发布时间】:2010-09-30 22:15:02
【问题描述】:

我有一个<div>,其中包含一个谷歌广告。我的网站主要是 AJAX,不需要刷新浏览器。这意味着我的广告也不会刷新,这并不理想,用户整天盯着一个广告。

所以我想要一种方法来刷新页面上的特定<div>。我找到了很多解决方案,但没有奏效。比如使用JQuery的html函数:

$("#ads").html("google ad script here");

这设法刷新了整个页面,不知道如何。我也可以向包含 Google 广告的 HTML 页面发出 AJAX 请求,但我猜它的效果与上述尝试相同。

我不想使用 iFrame。

我还有其他选择吗?我的豌豆脑袋想不出来了。 :)

编辑:

这是允许的,因为我只会在用户单击链接时启动刷新。

一个典型的例子是雅虎邮箱——他们的新 AJAX 邮箱使用相同的方法,当用户点击一个链接时,就会显示一个新广告。

【问题讨论】:

    标签: javascript ajax html refresh google-ads-api


    【解决方案1】:

    不允许(根据 AdSense 条款)在页面生命周期内尝试重新加载广告。此外,这几乎是不可能的(感谢平台架构)。

    【讨论】:

    • 你有链接来备份这个吗?
    • 这肯定可以通过双击实现
    【解决方案2】:

    这是不允许的。但我认为您可以为此使用 iframe。我看到了很好的教程。 我尝试通过 ajax 回滚对 Adsense TOS 所做的更改

    【讨论】:

      【解决方案3】:

      正如其他两个答案所述,不允许自动刷新您的 AdSense 广告。我了解您只是打算刷新广告以响应用户操作,但它仍然是不允许的,即使它应该是!

      请记住,您想要更新广告的原因是为了展示新广告。显示广告称为“印象”。当您使用代码刷新广告时,您会自动生成广告展示次数。

      AdSense Program Policies state(强调我的):

      无效的点击次数和展示次数

      Google 广告的点击必须来自真正的用户兴趣。 严禁任何人为地在您的 Google 广告上产生点击或展示的方法。 这些被禁止的方法包括但不限于重复手动点击或展示、使用机器人、自动点击和展示生成工具、第三方产生点击或印象的派对服务,例如付费点击、付费冲浪、自动冲浪和点击交换程序,或任何欺骗性软件。

      刷新您的广告违反了禁止产生印象的规则。话虽如此,我认为任何理性的人都会同意在 AJAX 应用程序中刷新广告以响应用户行为(例如响应点击)并不违反精神 的规则。

      例如,想象一下重写整个应用程序以停止使用 AJAX。这对您的用户来说显然是一种更糟糕的体验(速度较慢,每次点击时页面都会闪烁,页面无法在后台动态更新),但从技术上讲,这并不违反 AdSense 计划政策。

      显然谷歌意味着禁止每五秒自动替换一次广告(创建广告的“幻灯片”)。谷歌还意味着禁止让您的网站看起来比您实际拥有的访问次数更多,从而使您的网站看起来对广告商更具吸引力。我确定他们打算阻止您设计高性能的 AJAX 网站...但不幸的是,有时规则会产生意想不到的后果。

      当然,正如您最初指出的那样,如果您将广告嵌入 iframe 并修改其位置,您仍然可以刷新广告。 (Here's how to use iframes in an AJAX application to refresh AdSense.)

      您在最初的问题中拒绝了 iframe,可能是因为您知道使用 iframe 会违反 Google 的政策……但如果您坚持要违反规则,那还不如完全违反规则! ;-)

      最终,我认为您会发现以这种方式产生印象并不值得冒险:您将“刷新”广告,却发现 Google 只是向您展示与以前完全相同的广告。

      【讨论】:

      • 这是一个很好的阅读谢谢:) - 我仍然确定它不是非法的。我对粗体字的句子有不同的解释。我不相信因为用户点击链接而触发的功能无论如何都是人为的! :)
      • 我不认为 OP 的方案违反了对政策条款的任何合理解释。很难看出 OP 提议的内容与使用 JavaScript 捕获按钮点击和加载新 URL 的常见做法之间有任何相关差异。在这两种情况下,我们都有用户操作 -> JavaScript -> 更改页面内容。
      • 昨天,Google 发布了 AdSense for Ajax,这是您一直想要的。
      • 如果您注意到 gmail 上的广告,每当您点击电子邮件(ajax 调用)时,广告就会刷新。所以这让我觉得根据用户点击刷新广告是合法的。
      • Mashable 的人是如何做到的? , 结帐 , mashable.com/2012/08/19/top-10-tech-10/… 结帐图片幻灯片,在页面下方,点击每张图片,广告就会刷新?
      【解决方案4】:

      只需在您通过 ajax 加载的页面中添加广告即可。通过 ajax 在每页的基础上从文件中加载广告不会有任何问题。

      如果我加载包含一些内容和广告的 Read.inc 单击页面上的某些内容,它会将您带到包含广告内容的 Make.inc。

      这有什么问题吗?那是有机的。将广告作为内容的一部分加载一次。

      与点击链接相同。

      我还没有真正尝试过,但它确实看起来合乎逻辑。

      【讨论】:

      • 这不适用于 AdSense。每页最多加载 3 个广告。您需要以某种方式卸载没有 API 的旧广告。
      【解决方案5】:

      我知道我迟到了一年半,但是......广告的问题可能是他们使用了document.write(广告服务器因此而臭名昭著,但我没有不知道 AdSense 是否使用它。)

      如果是这样,我有一个可以提供帮助的库:writeCapture.js。示例:

      $('#ads').writeCapture().html('<script src="whatever-your-adsense-code-is"> </script>');
      

      那是使用 jQuery,但也有独立版本。

      至于是否违反 TOS……Gmail 会动态更改广告,所以不会那么糟糕。只要内容也在变化,我认为没问题。

      【讨论】:

      • 你没有迟到(我真的迟到了)。我现在就试试你的脚本,因为我遇到了同样的问题,无法用 adsense 块刷新 div。
      • 你不能真正争论每个人都可以这样做,因为 gmail 这样做;请记住 gmail 和 adsense 都属于同一家公司。你很可能不会。
      【解决方案6】:

      新的 Google DFP“标签”专门允许“AJAX 广告刷新”

      刷新

      pubService.refresh(slots) 使用新广告刷新页面上指定的广告位数组。

      参数:

      array slots - 要刷新的可选插槽数组。如果未提供,则刷新所有广告位。 示例:

      var slot1 = googletag.defineUnit("/1234567/leaderboard", [728, 90], "div-1").addService(googletag.pubads());

      var slot2 = googletag.defineUnit("/1234567/skyscraper", [160, 600], "div-2").addService(googletag.pubads());

      // 刷新调用为每个广告位获取一个新广告

      googletag.pubads().refresh([slot1, slot2]); http://support.google.com/dfp_sb/bin/answer.py?hl=en&answer=2372721&expand=pubservice_details#refresh

      【讨论】:

      • +1,虽然这不是 AdSense,但它确实提供了一个不错的选择。我很高兴他们把这个带回来了!它消失了一段时间。
      • 我使用了一个实时板球运动应用程序,每次下一个新的比赛时都会刷新广告。它与电视没有什么不同。
      • 仅供参考 - DFP 不支持 AdSense 链接单元(15 像素高的单元)。它仅支持广告单元。
      • 上述内容只有在使用异步代码初始化时才有效。请参考这篇文章:support.google.com/dfp_sb/answer/3058726?hl=en
      【解决方案7】:

      您可以使用以下代码刷新 Google 广告位。把这个放在你要刷新广告的JS函数中。它应该刷新页面上的所有广告。

      if ( undefined !== googletag ) {
        googletag.pubads().refresh();
      }
      

      Google Ad Manager Help - Reload ads without a page refresh

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-11
        相关资源
        最近更新 更多