1

我正在 Foundation 3 中构建一个响应式站点。

剩下的一个症结是排行榜广告。我希望有一个广告位在台式机和平板电脑上显示排行榜广告,但在手机上显示特定于手机的广告(因为排行榜显然不适合)。

我与 Doubleclick(我们的广告供应商)进行了交谈,他们建议在广告加载一个或另一个广告调用的位置使用 javascript 浏览器嗅探器内联。

由于 Foundation 使用 Modernizr,我一直在寻找一种方法来利用它来检测要投放的广告。但是查看它的文档,我什么也没看到。触摸是唯一相关的,但包括平板电脑;我只想定位手机。

在 Modernizr 中是否有这样做的,或者我应该求助于 navigator.userAgent?

4

3 回答 3

0

走用户代理之路可能是矫枉过正。

我只想定位手机

即使使用 Modernizrs 功能检测,准确地将手机与平板电脑区分开来也是一件令人头疼的事情。

如果您的核心问题是显示正确尺寸的广告,为什么不直接使用用户视口来确定广告尺寸?

例如

if($(window).width() < desktopAdWidth){
      // do mobile ad stuff..
}
于 2013-03-26T12:24:47.810 回答
0

如果您想使用 Modernizr 进行简单检查,您可以检查 Touch 支持

if ( Modernizr.touch ) {
   // mobile
} else {
   // desktop
}

当然,这不是最正确的解决方案,因为有些手机不支持触摸事件。如果您想对移动设备进行更彻底的检查,navigator.userAgent我想现在正确的方法是检查。

于 2013-03-22T17:06:36.617 回答
-1

我正在使用 Modernizr.mq() 来评估屏幕尺寸和像素密度的组合。我相信任何像素密度高于 1.0 的东西都是可移动的。

此外,根据文档,触摸检测不可靠,因为 WebOS 不报告触摸,我怀疑 Windows 8 支持触摸的 PC 上的未来版本的浏览器将开始报告触摸。

于 2013-07-16T18:12:29.437 回答