一尘不染

更改路线时未加载AngularJS和Adsense广告(整个应用最多3个广告)

angularjs

我有一个使用AdSense的Angular网站,它将在首次加载或刷新时加载广告,但是如果我浏览到另一条路线,则不会加载广告。这是我正在使用的指令:

.directive('googleAdSense', function () {
return {
    restrict: 'A',
    replace: true,
    templateUrl: "../../templates/googleads.html",
    controller: function () {
        (adsbygoogle = window.adsbygoogle || []).push({});
    }
};
});

在这里,我将脚本标记放置在索引文件的开头。所有视图都通过ng-view加载/退出索引文件:

<!-- Google Adsense -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

这是用法:

<div data-google-ad-sense></div>

如何解决此问题,以便在我转到另一个视图后加载广告?

更新:
经过进一步测试,它仅加载前3个广告,这与Google防止每页3个以上的广告相一致…。问题是我有多个视图没有被视为“页面”。我想知道HTML5模式对历史的处理是否与此有关…


阅读 205

收藏
2020-07-04

共1个答案

一尘不染

请参阅此处以供参考(https://productforums.google.com/forum/#!msg/adsense/Ya498_sUlBE/hTWj64zROoEJ),但是将脚本标记移至index.html对我有用。基本上,我在顶部菜单中使用ng-
include,在顶部广告中使用script标签,然后在ng-view中添加最终广告。

2020-07-04