html5 – 正确的方式使用Modernizr来检测IE?

前端之家收集整理的这篇文章主要介绍了html5 – 正确的方式使用Modernizr来检测IE?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是一个愚蠢的问题,但我想使用Modernizr JS库来检测某些浏览器属性,以确定要显示不显示内容

我有一个名为Pano2VR的应用程序输出HTML5和SWF。我需要iOS设备用户的HTML5。

但是,IE不渲染这个“HTML5”输出。看来他们的输出使用CSS3 3D变换和WebGL,一个或多个显然不支持IE9。

所以,对于那些用户我需要显示Flash版本。我计划使用IFRAME,并通过Modernizr脚本或document通过SRC。根据浏览器编写正确的IFRAME代码

所有这些导致我如何使用Modernizr来检测简单的IE或不是IE?或检测CSS 3d变换?

还是有另一种方法来做到这一点?

解决方法

Modernizr不会检测到浏览器,它检测到哪些功能功能存在,这是整个jist的想要做的。

你可以尝试钩在一个简单的检测脚本,像这样,然后使用它来做出选择。我还包括版本检测,以防万一需要。如果你只想检查任何版本的IE,你可以找到值为“MSIE”的navigator.userAgent。

var BrowserDetect = {
        init: function () {
            this.browser = this.searchString(this.dataBrowser) || "Other";
            this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
        },searchString: function (data) {
            for (var i = 0; i < data.length; i++) {
                var dataString = data[i].string;
                this.versionSearchString = data[i].subString;

                if (dataString.indexOf(data[i].subString) !== -1) {
                    return data[i].identity;
                }
            }
        },searchVersion: function (dataString) {
            var index = dataString.indexOf(this.versionSearchString);
            if (index === -1) {
                return;
            }

            var rv = dataString.indexOf("rv:");
            if (this.versionSearchString === "Trident" && rv !== -1) {
                return parseFloat(dataString.substring(rv + 3));
            } else {
                return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
            }
        },dataBrowser: [
            {string: navigator.userAgent,subString: "Edge",identity: "MS Edge"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer"},subString: "Trident",subString: "Firefox",identity: "Firefox"},subString: "Opera",identity: "Opera"},subString: "OPR",subString: "Chrome",identity: "Chrome"},subString: "Safari",identity: "Safari"}       
        ]
    };
    
    BrowserDetect.init();
    document.write("You are using <b>" + BrowserDetect.browser + "</b> with version <b>" + BrowserDetect.version + "</b>");

然后,您可以简单地检查:

BrowserDetect.browser == 'Explorer';
BrowserDetect.version <= 9;

猜你在找的HTML5相关文章