43

我正在运行一个使用 AJAX 请求和 history.pushState 进行导航的网站。

请求的内容代码包含 Google 的异步 AdSense 代码:

<ins class="adsbygoogle"
     style="display:inline-block;width:468px;height:60px"
     data-ad-client="ca-pub-xxxxx"
     data-ad-slot="xxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

head 标签包含 adsbygoogle.js:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

此设置适用于一个动态加载的综合浏览量。之后,广告不再出现。错误控制台显示:

400 (Bad Request) in expansion_embed.js:188

expand_embed.js 从http://googleads.g.doubleclick.net/pagead/ads请求广告。requestet url 包含很多参数。

现在,每次广告确实出现时,prev_fmts参数的值为468x60。如果广告加载失败,此参数的值为486x60%2C468x60

是什么导致此参数发生变化?此更改是否可能导致 400 Bad Request 错误?

4

4 回答 4

63

你只需要等待,当你第一次实施 Adsense 时它会给出这个错误。Adsense 直到第二天早上才开始展示广告。我实施了他们的响应式广告类型。

于 2016-07-13T12:26:19.753 回答
4

当我第一次在我的网站中添加 adsense 代码时,我也遇到了同样的错误。就我而言,它只是在重新加载页面后开始工作。

于 2015-06-24T19:49:04.973 回答
3

我遇到了同样的问题,经过一番研究,我发现这是 Google Adsens 和 AJAX 网站不兼容的问题。

请参阅Google 的公告和 Google 论坛中的这两个 主题

我试图人为地破坏prev_fmts参数,但我无法通过混淆的 JS 找到方法。无论如何,我想这样做会违反 Google Adsense TOS。

于 2014-04-29T11:40:35.960 回答
-1

Adblock 阻止了广告。我启用了网站来解决它。

于 2017-08-19T08:40:35.087 回答