【问题标题】:How can I make an ad visible only to mobile users?如何使广告仅对移动用户可见?
【发布时间】:2015-06-07 06:41:29
【问题描述】:

我想使用一些移动广告,但我的网站采用响应式设计,所以我没有使用 m.子域。 如何使广告仅对移动用户可见?仅适用于台式机或平板电脑呢?

我使用 wordpress 作为 CMS。

谢谢,

【问题讨论】:

  • 用CSS media queries显示/隐藏它们?
  • 我不会对广告使用媒体查询,而是在页面完成加载后使用 javascript 获取它们。您不希望加载您不会展示的广告,也不希望广告减慢您的初始页面加载速度。

标签: javascript php html wordpress


【解决方案1】:

使用CSS3 Media Queries 非常简单。

在你的 CSS 中:

@media (max-width: 480px) {
      #ad-id {
         display: block;
      }
}

对于更大的设备,隐藏它:

@media (min-width: 480px) {
     #ad-id {
        display: none;
     }
}

如果您真的担心正在下载的数据,那么您必须在页面加载时检测浏览器大小,如果它小于特定宽度,则触发 ajax 调用并获取广告数据并将其显示在占位符容器中。

$(function() {
    if($(window).width() < 480) {
       $("#ad-id").load("adcontent.html");
       // else use $.ajax for this purpose
    }
});

【讨论】:

  • 你不会想加载一些东西然后不使用它,尤其是在移动设备和连接不佳的情况下。所以这个方案虽然看起来很简单,但是会对性能产生影响。
  • 除非你在服务端构造HTML并发送给客户端,否则客户端会获取内容并限制是否显示。否则,您必须根据浏览器嗅探触发 ajax 调用以获取添加内容。
  • 我也用另一种方法更新了答案:)
【解决方案2】:

请使用 CSS 媒体查询。您可以显示和隐藏移动设备的特定 div。

 @media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2) { }

【讨论】:

    【解决方案3】:

    一种方法是使用媒体查询。将广告默认设置为 display:none 并添加 display:block 仅在移动媒体查询中。

    .ads{
      display:none;
    }
    @media (max-width:480px){
    .ads{
      display:block;
    }
    } 
    

    【讨论】:

      【解决方案4】:

      尽管看似简单却是一个相当棘手的问题。

      尽量不要浪费时间(其他开发人员已经花费了这些时间)并使用现有的解决方案之一,例如 isMobile 或 mobile-detect.js。

      此库允许您检测:

      • 是移动设备、平板电脑或台式机;
      • 特定浏览器版本。
      • 操作系统;
      • ...

      【讨论】:

        【解决方案5】:

        您可以使用 CSS3 媒体查询来做到这一点,

        //中等+屏幕尺寸

        @media (最小宽度:992px) {

        .desktop-only {
            display:block !important;
        }
        

        }

        //小屏幕尺寸

        @media(最大宽度:991px){

        .mobile-only {
            display:block !important;
        }
        
        .desktop-only {
            display:none !important;
        }
        

        }

        对于大分辨率设备,您可以使用以下媒体查询,

        //仅限大分辨率

        @media(最小宽度:1200px){ ... }

        此外,如果您使用任何前端框架,如引导程序。然后你可以找到一些书面课程,如

        .可见电话 .visible-tablet

        .可见桌面

        .隐藏电话

        .隐藏的平板电脑

        .隐藏桌面

        使用这些类,您可以播放您的内容以在特定设备上显示和隐藏。

        http://getbootstrap.com/2.3.2/scaffolding.html

        【讨论】:

          猜你喜欢
          • 2012-10-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-21
          相关资源
          最近更新 更多