1

クロス モバイル OS スマート バナーのサポートにjQuery Smartbanner ( https://github.com/jasny/jquery.smartbanner ) を使用しています。しかし、iOS サファリのみがスマートバナー機能をネイティブにサポートし、他の iOS ブラウザーはサポートしないという問題に遭遇しました。したがって、このプラグインを有効にすると、safari はスマート バナー (ネイティブおよびカスタム) を 2 つ表示し、他のブラウザーは想定どおり 1 つを表示します。次のチェックを追加して、ユーザーが iphone/ipad/ipod と safari を使用していることを確認しました。

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

ただし、この条件付きチェックは、Safari だけでなく、すべての iOS モバイル ブラウザーを制限します。したがって、smartbanner() プラグインを特にモバイル サファリに適用しないために、モバイル サファリを単純に検出することはできないことがわかりました。

具体的にiOS Safariを検出するためのヒントはありますか?

Ps: すべてのサファリ ブラウザには、navigator.userAgent 内に「Safari」という単語があります。

4

2 に答える 2

0

現在、「バージョン」という単語を条件に追加することで、その問題を修正しています。iOSのuserAgent内にこの単語があるのはsafariだけであることがわかりました(Chromeの場合、そうではありません)。

したがって、最終的な条件は次のようになります。

if ( !(/(iPad|iPhone|iPod).*OS [6-7].*AppleWebKit.*Version.*Mobile.*Safari/.test(navigator.userAgent)) )
    $.smartbanner()
于 2014-03-31T14:36:49.413 に答える