자바스크립트 IE 버전 체크용 함수 > JQuery & JavaScript

STUDY ROOM

JQuery & JavaScript

자바스크립트 IE 버전 체크용 함수

페이지 정보

작성자 JMStudy 작성일15-12-04 17:27 조회5,682회 댓글0건

본문

출처 : Stack Overflow (영문) 

 
<script type="text/javascript">

/* 
 * 원본 : http://stackoverflow.com/questions/19999388/jquery-check-if-user-is-using-ie 
 * 수정본 : http://tonks.tistory.com/107 
 */ 


function get_version_of_IE () { 

var word; 
var version = "N/A"; 

var agent = navigator.userAgent.toLowerCase(); 
var name = navigator.appName; 

// IE old version ( IE 10 or Lower ) 
if ( name == "Microsoft Internet Explorer" ) word = "msie "; 

else { 
// IE 11 
if ( agent.search("trident") > -1 ) word = "trident/.*rv:"; 

// IE 12  ( Microsoft Edge ) 
else if ( agent.search("edge/") > -1 ) word = "edge/"; 

var reg = new RegExp( word + "([0-9]{1,})(\\.{0,}[0-9]{0,1})" ); 

if (  reg.exec( agent ) != null  ) version = RegExp.$1 + RegExp.$2; 

return version; 

</script>
 
 
<script type="text/javascript">

function checkVersion () { 

var tag1 = document.getElementById( "demo1" ); 
var tag2 = document.getElementById( "demo2" ); 

var verString = get_version_of_IE(); 
var verNumber = parseInt ( get_version_of_IE() ); 

tag1.innerHTML = verString + " " + verNumber; 

if ( verString == "N/A" ) tag2.innerHTML = "인터넷 익스플로러가 아닌, 다른 브라우저를 사용중이십니다."; 
</script>
 
태그에 스타일을 설정할 때, 
버전별로 적용되지 않는 속성에 대해서, 따로 class를 지정하는 방식으로 
아래처럼 활용할 수 있다.

아래 소스는, body 태그에 스타일을 지정해주는 것이며, 
그 태그에 이미 class가 있을 경우를 대비해서, 해당 태그에 class를 추가하는 방식으로 작성하였다. 
물론!! body가 아닌, 다른 태그로 바꿔도 된다. ^^*

 
<style type="text/css">

 /* IE 6 버전용 스타일 */
 .IE_6 { }

 /* IE 7 버전용 스타일 */
 .IE_7 { }

 /* IE 8 버전용 스타일 */
 .IE_8 { }

 /* IE 9 버전용 스타일 */
 .IE_9 { }

 /* IE 10 이상 최신용 & 다른 브라우저용 스타일 */
 .IE_10 , 
 .Others { }

</style>
 

 
<script type="text/javascript">

var myTag = document.body; 
// 또는 var myTag = document.getElementById( "someId" ); 

var callFunction = individual_case( myTag ); 


function individual_case ( tag ) { 

var verNum = parseInt ( get_version_of_IE() ); 

if ( isNaN(verNum) || verNum >= 10 ) tag.className += " IE_10 Others"; 

switch ( verNum ) { 

case 9: // verNum = 9 이면 
tag.className += " IE_9"; 
break; 

case 8: // verNum = 8 이면 
tag.className += " IE_8"; 
break; 

case 7: 
tag.className += " IE_7"; 
break; 

case 6: 
tag.className += " IE_6"; 
break; 

</script>
 
댓글목록

등록된 댓글이 없습니다.