欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js获取浏览器类型进行判断

程序员文章站 2022-03-05 23:25:19
...
本文为webuploader.js中学习心得,感谢开源,从中加入了ie的edge判断
/**
		 * @description  简单的浏览器检查结果。
		 *
		 * * `webkit`  webkit版本号,如果浏览器为非webkit内核,此属性为`undefined`。
		 * * `chrome`  chrome浏览器版本号,如果浏览器为chrome,此属性为`undefined`。
		 * * `ie`  ie浏览器版本号,如果浏览器为非ie,此属性为`undefined`。
		 * * `firefox`  firefox浏览器版本号,如果浏览器为非firefox,此属性为`undefined`。
		 * * `safari`  safari浏览器版本号,如果浏览器为非safari,此属性为`undefined`。
		 * * `opera`  opera浏览器版本号,如果浏览器为非opera,此属性为`undefined`。
		 *
		 * @property {Object} [browser]
		 */
		$scope.browser = function() {
			var ua = navigator.userAgent;
			var ret = {}, webkit = ua.match(/WebKit\/([\d.]+)/), chrome = ua
					.match(/Chrome\/([\d.]+)/)
					|| ua.match(/CriOS\/([\d.]+)/),

			ie = ua.match(/MSIE\s([\d\.]+)/) || ua.match(/Edge\/([\d.]+)/)
					|| ua.match(/(?:trident)(?:.*rv:([\w.]+))?/i), firefox = ua
					.match(/Firefox\/([\d.]+)/), safari = ua
					.match(/Safari\/([\d.]+)/), opera = ua
					.match(/OPR\/([\d.]+)/);

			webkit && (ret.webkit = parseFloat(webkit[1]));
			chrome && (ret.chrome = parseFloat(chrome[1]));
			ie && (ret.ie = parseFloat(ie[1]));
			firefox && (ret.firefox = parseFloat(firefox[1]));
			safari && (ret.safari = parseFloat(safari[1]));
			opera && (ret.opera = parseFloat(opera[1]));

			return ret;
		};
		if ($scope.browser().ie) {
			alert("我是ie");
		}