ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript を使用して iOS デバイス上の Safari と WebView を区別する方法

JavaScript を使用して iOS デバイス上の Safari と WebView を区別する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-20 16:48:29545ブラウズ

How to Distinguish Safari and WebViews on iOS Devices Using JavaScript?

JavaScript を使用して iOS デバイスの Safari と WebView を検出する

Web サイトが iPad の Safari ブラウザ内で実行されているか、アプリケーション WebView 内で実行されているかを判断するユーザーエクスペリエンスを調整するために重要です。これは、window.navigator.userAgent と window.navigator.standalone JavaScript プロパティの組み合わせによって実現できます。

ユーザー エージェント文字列を分析することで、デバイスを iOS デバイスとして識別できます。それが実際に iOS デバイスである場合は、さまざまなシナリオを区別するために window.navigator.standalone の有無をさらにチェックします:

  • ブラウザ: Web サイトは、 Safari ブラウザ。 standalone は false で、ユーザー エージェントには「Safari」が含まれています。
  • スタンドアロン: Web サイトはスタンドアロン アプリケーションとして実行されています。スタンドアロンは true で、ユーザー エージェントには「Safari」は含まれません。
  • WebView: Web サイトはアプリの WebView 内で実行されています。 standalone は false で、ユーザー エージェントには「Safari」が含まれていません。

この JavaScript コードは、iOS 環境を検出し、Safari モードと WebView モードを区別するための完全なソリューションを提供します。

<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 && safari) {
        // Browser
    } else if (standalone && !safari) {
        // Standalone
    } else if (!standalone && !safari) {
        // WebView
    }
} else {
    // Not iOS
}</code>

この方法を使用すると、Web アプリケーションの動作をさまざまな環境に適応させ、最適なユーザー エクスペリエンスを確保できます。たとえば、アプリがスタンドアロン モードで使用されているときにナビゲーション バーが非表示になったり、アプリの WebView 内で実行されているときに特定の機能が無効になったりすることがあります。

以上がJavaScript を使用して iOS デバイス上の Safari と WebView を区別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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