• 最全,最准确的js判断终端类别(chrome,ie,edge,safari,firefox,opera,Blink)


         let isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
    
    // Firefox 1.0+
            let isFirefox = typeof InstallTrigger !== 'undefined';
    
    // Safari 3.0+ "[object HTMLElementConstructor]"
            let isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));
    
    // Internet Explorer 6-11
            let isIE = /*@cc_on!@*/false || !!document.documentMode;
    
    // Edge 20+
            let isEdge = !isIE && !!window.StyleMedia;
    
    // Chrome 1 - 79
            let isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
    
    // Edge (based on chromium) detection
            let isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
    
    // Blink engine detection
            let isBlink = (isChrome || isOpera) && !!window.CSS;
    
    
            let output = 'Detecting browsers by ducktyping:<hr>';
            output += 'isFirefox: ' + isFirefox + '<br>';
            output += 'isChrome: ' + isChrome + '<br>';
            output += 'isSafari: ' + isSafari + '<br>';
            output += 'isOpera: ' + isOpera + '<br>';
            output += 'isIE: ' + isIE + '<br>';
            output += 'isEdge: ' + isEdge + '<br>';
            output += 'isEdgeChromium: ' + isEdgeChromium + '<br>';
            output += 'isBlink: ' + isBlink + '<br>';
            document.body.innerHTML = output;
    执着于各种技术的代码小白
  • 相关阅读:
    as3 return语句中的运算符
    AIR custom ApplicationUpdaterUI
    Flash Builder 无法连接到应用程序以访存概要分析数据
    Android的所有权限说明
    Tomcat数据源配置
    hibernate 延迟加载(懒加载)
    Android SQLite数据库操作
    Android下载文本文件和mp3文件
    JPA注解
    Android Intent传值且实现窗体跳转
  • 原文地址:https://www.cnblogs.com/rimoZhou/p/13749418.html
Copyright © 2020-2023  润新知