ブラウザはおそらく私たちにとって最も馴染みのあるツールです。 Firefox、Opera、Safari、IE、Chrome といったよく知られたブラウザに加え、世界には 100 種類近くのブラウザがあると言われています。通常、開発を行う際には、さまざまなブラウザに対応する必要があるため、ブラウザの種類やシステムの判断を精緻化することが重要です。 まず、User-Agent とは何かを見てみましょう。 User-Agent は HTTP リクエスト内のユーザー識別子であり、通常はブラウザの種類、オペレーティング システムなどのクライアントの種類を表す文字列やその他の情報を送信します。 User-Agent の合意された形式は、アプリケーション名、スラッシュ、バージョン番号の順で、残りは自由形式です。 ここではいくつかのブラウザのみ紹介します クロム iPhone用Safari IE 次に、閲覧タイプとシステムを取得する関数をカプセル化し、必要な場所で呼び出します。 // すべての主要ブラウザ関数 getBrowser() { var u = navigator.userAgent; var bws = [{ 名前: 'sgssapp', it: /sogousearch/i.test(u) }, { 名前: 'wechat', it: /MicroMessenger/i.test(u) }, { 名前: 'weibo'、 it: !!u.match(/Weibo/i) }, { 名前: 'uc', !!u.match(/UCBrowser/i) || u.indexOf('UBrowser') > -1 }, { 名前: 'ソゴウ', u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1 }, { 名前: 'xiaomi', u.indexOf('MiuiBrowser') > -1 です }, { 名前: '百度', u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1 }, { 名前: '360', u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1 }, { 名前: '2345', u.indexOf('2345Explorer') > -1 です }, { 名前: 'エッジ'、 u.indexOf('Edge') > -1 です }, { 名前: 'ie11', u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1 です }, { 名前: 'ie', u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1 です }, { 名前: 'firefox', u.indexOf('Firefox') > -1 です }, { 名前:「サファリ」 u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1 です }, { 名前: 'qqbrowser', u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1 }, { 名前: 'qq', u.indexOf('QQ') > -1 です }, { 名前: 'クロム'、 u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1 }, { 名前: 'オペラ', u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1 }]; (var i = 0; i < bws.length; i++) の場合 { (bws[i].it)の場合{ bws[i].nameを返します。 } } 'other' を返します。 } // システム微分関数 getOS() { var u = navigator.userAgent; if (!!u.match(/compatible/i) || u.match(/Windows/i)) { 'windows' を返します。 } そうでない場合 (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) { 'macOS' を返します。 } そうでない場合 (!!u.match(/iphone/i) || u.match(/Ipad/i)) { 'ios' を返します。 } そうでない場合 (!!u.match(/android/i)) { 'android' を返します。 } それ以外 { 'other' を返します。 } } これで、JavaScript navigator.userAgent によるブラウザ情報取得の事例紹介は終了です。JavaScript navigator.userAgent によるブラウザ情報取得に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL ビューの一貫性を確保する方法の詳細な説明 (チェック オプション付き)
>>: nginx-ingress-controller ログ永続化ソリューションのソリューション
Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...
.y { background: url(//img.jbzj.com/images/o_y.pn...
gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...
最近、分散型およびビッグデータ技術について学ぶために、いくつかの仮想マシンに取り組んでいます。まず、...
この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...
他のよりプロフェッショナルなブログ システムを参照すると、コード ブロックにコードのコピー ボタンが...
mysql 効率的なクエリMySQL は、左結合の速度を上げるために group by を犠牲にし...
目次1. ブロックスコープ1.1. let は var を置き換える1.2. グローバル定数とスレッ...
コンテナは Docker のもう一つの中心的な概念です。簡単に言えば、コンテナとは、独立して実行され...
Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...
1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードに複数の IP ア...
mysql5.7.17のインストールチュートリアルを参考までに共有します。具体的な内容は次のとおりで...
1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...
目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...
1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...