ホームページ ウェブフロントエンド jsチュートリアル JavaScriptでIEのバージョンモデルが決まる_基礎知識

JavaScriptでIEのバージョンモデルが決まる_基礎知識

May 16, 2016 pm 03:48 PM
javascript

次にコードを通して説明します。詳細については以下を参照してください。

IE ブラウザと IE 以外のブラウザの違いは、IE ブラウザは ActiveXObject をサポートしますが、IE 以外のブラウザは ActiveXObject をサポートしないことです。 IE11 ブラウザが登場する前は、これが IE と非 IE の判断方法でした

コードをコピーします コードは次のとおりです:

関数 isIe(){
window.ActiveXObject を返しますか? true : false;
}

しかし、IE11 では、上記の判定は false を返します。IE11 で次のコードをテストしました。

コードをコピーします コードは次のとおりです:

アラート(window.ActiveXObject);
アラート(ウィンドウの種類.ActiveXObject);

これはなぜでしょうか?明らかに ActiveXObject は存在​​しますが、typeof の結果は確かに未定義です。結果を知っている人は理由を教えてください。シェンマに?

Microsoft の公式 Web サイトでは、IE11 の ActiveXObject の違いについて説明しています。

コードをコピー コードは次のとおりです:

alert("ActiveXObject" in window)//ie11
では true を返します

以下は、IE ブラウザーと非 IE ブラウザーが IE11 と互換性があるかどうかを確認する直接的な方法です。

コードをコピーします コードは次のとおりです:

関数 isIe(){
Return (ウィンドウ内の「ActiveXObject」);
}

IE6 ブラウザを判断します

IE 7 以降、IE は XMLHttpRequest オブジェクトをサポートしますが、IE6 はサポートしません。この機能と、IE を判断するための以前の関数 isIe() に基づいて、IE6 を判断する方法がわかりました。判定方法は以下の通りです。

コードをコピーします コードは次のとおりです:

関数 isIe6() {
// ie6 は window.XMLHttpRequest
をサポートしていません isIe() && !window.XMLHttpRequest;
を返す }

IE7 ブラウザを判断します

IE8からドキュメントモードがサポートされるため、document.documentModeをサポートします。 IE7 はこれをサポートしていませんが、IE7 は XMLHttpRequest オブジェクトをサポートしています。判定方法は以下の通りです。

コードをコピー コードは次のとおりです:

関数 isIe7() {
//IE8 のみ document.documentMode
をサポートします 戻り値 isIe() && window.XMLHttpRequest && !document.documentMode;
}

IE8 ブラウザを判断します

Microsoft は IE9 から徐々に標準に近づいています。IE678 を非標準ブラウザと呼び、IE9 と chrome や Firefox などの他のブラウザを標準ブラウザと呼びます。 2 つの違いの 1 つは、alert(-[1,]);//IE678 では NaN が出力されますが、標準ブラウザでは -1

上記の違いから、IE8 ブラウザであると判断できます。その方法は次のとおりです:

function isIe8(){
  // alert(!-[1,])//->IE678返回NaN 所以!NaN为true 标准浏览器返回-1 所以!-1为false
  return isIe() &&!-[1,]&&document.documentMode;
 }
ログイン後にコピー

IE9、IE10、IE11 ブラウザを判断します

ブラウザは IE8 から JSON 組み込みオブジェクトをサポートし、IE10 からは js の strict モードをサポートします。 IE9 では、alert(!-[1,]) は false を返します。IE9 は addEventListener をサポートしますが、IE11 ブラウザーは IE 独自の独自のイベント バインディング AttachEvent をサポートしません。これらの違いに基づいて、IE9、IE10、および IE11 ブラウザーを区別できます。

他のブラウザを判断します

//检测函数
 var check = function(r) {
   return r.test(navigator.userAgent.toLowerCase());
 };
 var statics = {
   /**
   * 是否为webkit内核的浏览器
   */
   isWebkit : function() {
     return check(/webkit/);
   },
   /**
   * 是否为火狐浏览器
   */
   isFirefox : function() {
     return check(/firefox/);
   },
   /**
   * 是否为谷歌浏览器
   */
   isChrome : function() {
     return !statics.isOpera() && check(/chrome/);
   },
   /**
   * 是否为Opera浏览器
   */   isOpera : function() {
     return check(/opr/);
   },
   /**
   * 检测是否为Safari浏览器
   */
   isSafari : function() {
   // google chrome浏览器中也包含了safari
     return !statics.isChrome() && !statics.isOpera() && check(/safari/)
   }
 };
ログイン後にコピー

以上がこの記事の全体的な紹介です。皆様のお役に立てれば幸いです。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを簡単に取得する方法

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

JavaScriptでinsertBeforeを使用する方法

See all articles