vuejs 로 화면작업 중 IE 와 Chrome 을 동시에 지원해야하는 케이스가 있다.
해당 케이스에서 보안상의 이유나 다른 이유로 특정 함수를 사용하지 못하는데
이 때 browser 를 detect 해서 별도로 처리할 필요가 있다.
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
나는 IE 만 구분하면 되는 케이스였고
chrome 에서 동작하는 함수는 edge 에서 지원했기 때문에 다른 브라우저는 체크하지 않았다.
다른 브라우저 체크가 필요하다면 아래를 참고하자.
// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification));
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1 - 79
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
출처 : stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
반응형
'Javascript > Vue.js' 카테고리의 다른 글
vue 2.x버전 flatpickr 문제 Missing required prop: "value" found in FlatPickr (0) | 2020.12.08 |
---|---|
vue router URL 에서 "#" 제거하기 (hashbang) (0) | 2020.12.07 |
vue table sorting object array (0) | 2020.09.18 |
Vue.js IE11 호환문제 (SCRIPT1003 ':' 가 필요합니다. Expected ':') (0) | 2020.07.23 |
Vue.js 시작하기 (Visual Studio Code Vue.js Example) (0) | 2020.02.10 |
최근댓글