ホームページ  >  記事  >  ウェブフロントエンド  >  iPad/iPhone の Webview と JavaScript を使用したネイティブ Safari を区別するにはどうすればよいですか?

iPad/iPhone の Webview と JavaScript を使用したネイティブ Safari を区別するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-20 16:43:29223ブラウズ

How to Differentiate Between iPad/iPhone Webview and Native Safari Using JavaScript?

JavaScript による iPad/iPhone Webview の検出: 包括的なソリューション

iPad の Safari 内で実行されている Web サイトとアプリケーションの WebView 内で実行されている Web サイトを区別するこれは、Web サイトの機能とユーザー エクスペリエンスを最適化するために非常に重要です。 JavaScript はこれを実現する効果的な方法を提供します。

2 つの主要なプロパティを組み合わせた JavaScript ソリューションを見てみましょう:

  • window.navigator.userAgent: に関する情報が含まれています。ユーザーのブラウザーとオペレーティング システム。
  • window.navigator.standalone: Web アプリがスタンドアロン モードで実行されているかどうかを示します。

これらのプロパティを使用して、 4 つのシナリオを区別する条件文を作成できます:

  1. Safari (ブラウザ): スタンドアロン === false および safari === true
  2. スタンドアロン (フルスクリーン): スタンドアロン === true および safari === false
  3. UIWebView: スタンドアロン === false および safari === false
  4. iOS ではありません: ユーザー エージェント文字列の ios に一致しません

以下は、この解決策を示すコード スニペットです:

<code class="javascript">var standalone = window.navigator.standalone,
    userAgent = window.navigator.userAgent.toLowerCase(),
    safari = /safari/.test( userAgent ),
    ios = /iphone|ipod|ipad/.test( userAgent );

if( ios ) {
    if ( !standalone &amp;&amp; safari ) {
        //browser
    } else if ( standalone &amp;&amp; !safari ) {
        //standalone
    } else if ( !standalone &amp;&amp; !safari ) {
        //uiwebview
    };
} else {
    //not iOS
};</code>

この JavaScript を利用するコードを使用すると、開発者は iOS デバイス上で Web サイトが実行されている環境を効果的に検出できるため、Web サイトの機能を調整し、それに応じてユーザー エクスペリエンスを向上させることができます。

以上がiPad/iPhone の Webview と JavaScript を使用したネイティブ Safari を区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。