Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测iOS smartbanner功能可用性_Javascript_Ios_Safari_Smartbanner - Fatal编程技术网

Javascript 检测iOS smartbanner功能可用性

Javascript 检测iOS smartbanner功能可用性,javascript,ios,safari,smartbanner,Javascript,Ios,Safari,Smartbanner,我正在使用jQuery Smartbanner()来支持跨移动操作系统的Smartbanner。但我遇到了一个问题,只有iOS safari本机支持smartbanner功能,而其他iOS浏览器则不支持。所以,当我刚刚激活这个插件时,safari向我展示了两个智能横幅(本机和自定义),以及其他浏览器(假设的)一个。我添加了下一个检查,以确保用户在iphone/ipad/ipod和safari上 if ( !(/(iPad|iPhone|iPod).*OS [6-7].*AppleWebKit.*

我正在使用jQuery Smartbanner()来支持跨移动操作系统的Smartbanner。但我遇到了一个问题,只有iOS safari本机支持smartbanner功能,而其他iOS浏览器则不支持。所以,当我刚刚激活这个插件时,safari向我展示了两个智能横幅(本机和自定义),以及其他浏览器(假设的)一个。我添加了下一个检查,以确保用户在iphone/ipad/ipod和safari上

if ( !(/(iPad|iPhone|iPod).*OS [6-7].*AppleWebKit.*Mobile.*Safari/.test(navigator.userAgent)) )
    $.smartbanner()
但是这个条件检查限制了所有iOS移动浏览器,不仅仅是Safari。所以我发现,我不能简单地检测mobile safari,而不是专门在其上应用smartbanner()插件

关于检测iOS Safari有什么特别的提示吗


注意:所有safari浏览器的导航器中都有“safari”一词。userAgent通过在条件中添加“Version”一词,目前已修复了该问题。我发现只有safari在iOS上的userAgent中才有这个词(例如,Chrome没有)

最后的条件是这样的:

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

对于那些寻找替代解决方案的人来说,你也可以在iOS和安卓系统中检查这一点

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

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

或者以更复杂的方式:

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