JavaScriptはブラウザがIEかどうかを判断します。


フロントエンドとしては、IEのピットに遭遇するのを避けることができませんが、他のブラウザは、IEを測定して終了します。
いくつかの属性と方法は、すべてのバージョンのIEはサポートされていませんが、一部のサポートは、プロジェクトでは、主要な分岐レベルはIE 8であることができますが、現在のところ、ほとんどのメンテナンスと開発のプロジェクトは、IE 8および既版にサポートされていると信じています。
まず、いくつかの属性と方法は、すべてのバージョンのIEがサポートされていないので、IEかどうかだけを判断する必要があります。
以下の3つは私がプロジェクトで使う方法です。新しい方法があれば、更新します。他にもっといい方法があれば、教えてください。
  • document.all
  • window.ActiveXObject
  • window.navigator.msSaveOrOpenBlob
  • 
    //     
    function isIE(){
     //          document.all    ,            
     if (document.all) return true; 
     
     if (!!window.ActiveXObject || "ActiveXObject" in window) return true; 
     
     if (window.navigator && window.navigator.msSaveOrOpenBlob) return true; 
    }
    判定ブラウザはIE 8および以下のバージョンです。
    私は上記でも述べましたが、ほとんどはメンテナンスと開発のプロジェクトで、IE 8および既版にサポートすればいいです。
    navigator.userAgent
    
    function isIE8(){
     var DEFAULT_VERSION = 8.0; 
     var ua = navigator.userAgent.toLowerCase(); 
     var isIE = ua.indexOf("msie")>-1; 
     var safariVersion; 
     if(isIE){ 
      safariVersion = ua.match(/msie ([\d.]+)/)[1]; 
     } 
     if(safariVersion <= DEFAULT_VERSION ){ 
      return true 
     };
    }
    特別な要求がある場合、より低いバージョンに対応する必要があります。
    
    var isIE = !!window.ActiveXObject; 
    
    var isIE6 = isIE && !window.XMLHttpRequest; 
    
    var isIE8 = isIE && !!document.documentMode; 
    
    var isIE7 = isIE && !isIE6 && !isIE8; 
    IE 8および以下ではサポートされていないCSS属性
  • シャドウbox-show
  • グラデーションlinea-gradient
  • プリンシパル
  • 透明度rgba
  • フレームborder-mage
  • 円角border-radius
  • 回転関連transform
  • IEがサポートしていない方法
    オンラインPDFファイルをブラウズします。IEは内蔵のpdfビューワーがないので、ダウンロードして見るしかないです。
  • バックエンドがファイルフローに戻る時:window.navigator.msSaveOrOpenBlob;具体的には他の2つのブログを参照することができます。
  • JavaScript処理の後端はPDFファイルストリームに戻り、オンラインプレビューでPDFファイル
  • をダウンロードする。
  • Vue.js+pdf.js処理はpdfファイルのストリームデータに応答して、フロントエンドは写真のプレビューを回転してダウンロードしてはいけません。
  • タグのdownload属性はサポートされていませんので、新しいiframeでsrc属性を設定できます。
    
    if (isIE()){
    	$("a").bind('click',function(){
    		var elemIF = document.createElement("iframe"); 
    		elemIF.src = FilePath;
    		elemIF.style.display = "none"; 
    		document.body.appendChild(elemIF);
    	});
    } else {
    	$("a").attr("href",FilePath).attr("download",FileName);
    }
    以上はJavaScriptがブラウザがIEの詳細な内容かどうかを判断しました。JavaScriptについての判断ブラウザの資料は他の関連記事に注目してください。