메인스트림(MainStream) 브라우저 유형 및 버전 식별
3804 단어 브라우저 호환성
var Browser = (function(window) {
var agent = window.navigator.userAgent;
var IE10 = 'IE10'; //IE10
var IE11 = 'IE11';
var Edge = 'Edge';
var Opera = 'Opera';
var Chrome = 'Chrome';
var Firefox = 'Firefox';
var Safari = 'Safari';
var System = {
type: '',
version: '',
getIe10Version: function() {
try {
return agent.match(/MSIE ([\d.]+)/)[1] || '0';
} catch (e) {
console.log(e);
return '0';
}
},
operaVersion: function() {
try {
if (agent.indexOf('Opera') > -1) {
return agent.match(/Opera.([\d.]+)/)[1];
} else {
return agent.match(/OPR\/([\d.]+)/)[1];
}
} catch (e) {
console.log(e);
return 0;
}
},
// :version . 31.0.252.152 31.0
versionFilter: function() {
if (arguments.length === 1 && typeof arguments[0] === 'string') {
var version = arguments[0];
var start, end;
start = version.indexOf('.');
if (start > 0) {
end = version.indexOf('.', start + 1);
if (end !== -1) {
return version.substr(0, end);
}
}
return version;
} else if (arguments.length === 1) {
return arguments[0];
}
return 0;
},
};
try {
//
if (/MSIE/.test(agent)) {
System.type = IE10;
} else if (/rv:([\d.]+)\) like gecko/.test(agent.toLowerCase())) {
System.type = IE11;
} else if (agent.indexOf('Edge') > -1) {
System.type = Edge;
} else if (agent.indexOf('Opera') > -1 || agent.indexOf('OPR') > -1) {
System.type = Opera;
} else if (agent.indexOf('Chrome') > -1 && agent.indexOf('Safari') > -1) {
System.type = Chrome;
} else if (agent.indexOf('Safari') > -1 && agent.indexOf('Chrome') === -1) {
System.type = Safari;
} else if (agent.indexOf('Firefox') > -1) {
System.type = Firefox;
} else {
System.type = 'unknow';
}
//
switch (System.type) {
case IE10:
System.version = System.getIe10Version();
break;
case IE11:
System.version = '11';
break;
case Edge:
System.version = 'edge';
break;
case Firefox:
System.version = agent.match(/Firefox\/([\d.]+)/)[1];
break;
case Chrome:
System.version = agent.match(/Chrome\/([\d.]+)/)[1];
break;
case Opera:
System.version = System.operaVersion();
break;
case Safari:
System.version = agent.match(/Version\/([\d.]+)/)[1];
break;
default:
System.version = '0';
}
System.version = System.versionFilter(System.version);
console.log(System.type,System.version);
} catch (e) {
console.log(e);
}
})(window);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
전체 브라우저 요약(IE7/IE8/IE9/SAfari/Chrome/Firefox)그 과정에서 호환되지 않는 상황이 발생하면 반드시 브라우저의 판단을 해야 합니다. [IE의 호환 모드는 고려하지 않습니다] 좋아하는 친구는 직접 가져가셔도 됩니다. IE7과 IE8이라면 onload 이벤트를 사용할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.