1

有没有办法让新的 Adsense Async 代码在 Rails 4 应用程序中使用 Turbolinks 可靠地工作?

这是直接来自google的示例 adsense 异步代码:

<script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
    style="display:inline-block;width:300px;height:250px"
    data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
    data-ad-slot="6440411535"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

所有广告在整页刷新时都能正常加载,但是当我随机浏览网站时,它们无法可靠地加载(有时它们都没有加载,有时只有一两个加载)。

page:change我想解决方案是以某种方式重新加载活动中的广告。

我还想知道是否可以通过 Turbolinks 将 adsense 与“基于 ajax”的页面重新加载一起使用。

4

2 回答 2

1

此代码目前适用于Turbolinks 5

function parseAds() {
  var ads = document.querySelectorAll('.adsbygoogle');

  ads.forEach(function(ad) {
    (adsbygoogle = window.adsbygoogle || []).push({});
  });
}

document.addEventListener('turbolinks:load', parseAds);
于 2018-03-28T21:43:24.660 回答
0

看看这个,看看它是否会有所帮助。

http://reed.github.io/turbolinks-compatibility/google_adsense.html

于 2014-02-23T05:19:15.770 回答