检测iOS智能横幅功能可用性

时间:2014-03-31 13:52:11

标签: javascript ios safari smartbanner

我使用jQuery Smartbanner(https://github.com/jasny/jquery.smartbanner)来支持跨移动操作系统智能横幅广告。但我已经遇到了一个问题,即只有iOS游戏本身支持smartbanner功能,以及其他iOS浏览器 - 不要。因此,当我只是激活这个插件时,safari会向我展示两个智能横幅(原生和自定义),以及其他浏览器 - 假设 - 一个。我已经添加了下一项检查,以确保用户使用的是iphone / ipad / ipod和safari。

if ( !(/(iPad|iPhone|iPod).*OS [6-7].*AppleWebKit.*Mobile.*Safari/.test(navigator.userAgent)) )
    $.smartbanner()

但是这种条件检查限制了所有iOS移动浏览器,而不仅限于Safari。所以我已经想通了,我不能简单地检测移动游猎,以便不在其上专门应用smartbanner()插件。

有关检测iOS Safari的任何提示吗?

P.s。:所有的Safari浏览器都有#34; Safari" navigator.userAgent中的单词

2 个答案:

答案 0 :(得分:0)

目前修正了这个问题,通过添加"版本"说到条件。我发现只有safari在iOS上的userAgent中有这个词(Chrome,例如,没有。)

所以最终条件如下:

if ( !(/(iPad|iPhone|iPod).*OS [6-7].*AppleWebKit.*Version.*Mobile.*Safari/.test(navigator.userAgent)) )
    $.smartbanner()

答案 1 :(得分:0)

对于那些正在寻找替代解决方案的人,您还可以选中smartbanner.js,该功能在iOS和Android上都是开箱即用。

您还可以基于元标记进行定位,例如仅适用于Android:

<meta name="smartbanner:enabled-platforms" content="android">

或更复杂的方式:

<meta name="smartbanner:exclude-user-agent-regex" content="^.*My Example Webapp$">