首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在导入AJAX数据时如何忽略Adsense?

在导入AJAX数据时如何忽略Adsense?
EN

Stack Overflow用户
提问于 2017-02-27 18:40:18
回答 2查看 61关注 0票数 0

我使用谷歌广告和无限加载。每当我通过AJAX在页面上“加载更多”数据时,它也会自动从Google获取另一个广告,这显然不会显示,因为Google不支持通过AJAX引入广告。

我需要帮助解决如何在页面加载上显示一个广告的逻辑,以及每当按下load更多的按钮时,如何忽略@include ('components.responsive_ad_display_only')

我目前正在考虑使用会话。我正在使用session()->put('retrieve', '1');后,我包括了广告。然后,一旦“加载更多”被按下,我将检查是否设置了会话。如果它是设置,我不包括广告,同时拉进更多的数据。这个场景的问题是,我最终需要“忘记”会话,这样当访问者刷新主页时,就会出现一个新的广告。

这是我使用的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@php
if (! session()->has('retrieve')) {
    $i = 1;
    $rand = rand(1, 10);
    session()->put('retrieve', '1');
} else {
    $i = 1;
    $rand = 200; // any integer higher than media items displayed
    session()->forget('retrieve');
}
@endphp

@foreach ($media as $media_item)
    @if ($i == $rand)
        <div class="ad_item">
            <!-- Ad Displayed here -->
            @include('components.responsive_ad_display_only')
        </div> 
    @endif
    <div class="media_item">
        <h1>Media Item Name</h1>
    </div>
@endforeach

此代码段用于不每隔一次显示广告,因为会话每次都会被设置和取消设置。

我希望能为解决我的困境提供任何帮助和指导。

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-27 19:34:05

为了防止广告出现在ajax请求上,有许多方法,包括但不限于

  • 在ajax请求url中添加一个参数

用它就像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//in JS
...
url = "/somefile.php?page=1";
// update it to look like
url = "/somefile.php?page=1&ajax=1";
...

//in PHP
if(!isset($_GET["ajax"]) || $_GET["ajax"] != 1){ //check ajax param in URL
    /// Print your ad here
  • 使用PHP检查标头(不确定方式,但它几乎在任何地方都能工作)

像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&
   strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{ 
    /// Print your ad here

还有其他方法涉及会话和其他类型的验证,但这些也是最简单的方法。

票数 1
EN

Stack Overflow用户

发布于 2017-02-27 19:01:43

使用此方法在一段时间内使用ajax显示广告。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$i = rand(1, 10);
if ($i == 1 || $i == 4 || $i == 8){
?>
<div class="ad_item">
    <!-- Ad Displayed here -->
    <?php 
        @include('components.responsive_ad_display_only');
    ?>
</div> 
<?php
foreach ($media as $media_item){

    }
    ?>
    <div class="media_item">
        <h1>Media Item Name</h1>
</div>
}

现在,您可以使用会话来防止以这种方式连续显示广告。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(isset($_SESSION["some_key"])){
    if($_SESSION["some_key"] == 1 ||  $_SESSION["some_key"]== 4 ||
       $_SESSION["some_key"] == 8){ // The values for which ads show up
        $i == 0; // A value for which ads won't show up

一旦你不需要它,你就可以删除它,如果你需要的话,你可以重置它.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42499210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文