我使用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中的单词
答案 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$">