首页 > 代码库 > 6.26

6.26

一.、怎么区分浏览器类型

 

 

第一种,只区分浏览器,不考虑版本

 

 

 

 代码如下:

 

 

function myBrowser(){    

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串    

var isOpera = userAgent.indexOf("Opera") > -1;    

if (isOpera) {       

  return "Opera"   

  }; //判断是否Opera浏览器   

  if (userAgent.indexOf("Firefox") > -1) {        

return "FF";  

   } //判断是否Firefox浏览器    

if (userAgent.indexOf("Chrome") > -1){  

 return "Chrome";  

}    

if (userAgent.indexOf("Safari") > -1) {       

 

  return "Safari";    

} //判断是否Safari浏览器   

  if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { return "IE";    

}; //判断是否IE浏览器

}

 

 

//以下是调用上面的函数

 

var mb = myBrowser();

 

if ("IE" == mb) {   

 

  alert("我是 IE");

 

}

 

if ("FF" == mb) {   

 

  alert("我是 Firefox");

 

}

 

if ("Chrome" == mb) {   

 

  alert("我是 Chrome");

 

}

 

if ("Opera" == mb) {   

 

  alert("我是 Opera");

 

}

 

if ("Safari" == mb) {    

 

alert("我是 Safari");

 

}

 

 

 

 

 

 

 

第二种,区分浏览器,并考虑IE5.5 6 7 8

 

 

 

复制代码 代码如下:

 

 

function myBrowser(){    

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串    

var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器   

  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器    

var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器    

var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器    

if (isIE) {       

  var IE5 = IE55 = IE6 = IE7 = IE8 = false;        

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");        

reIE.test(userAgent);        

var fIEVersion = parseFloat(RegExp["$1"]);        

IE55 = fIEVersion == 5.5;        

IE6 = fIEVersion == 6.0;       

  IE7 = fIEVersion == 7.0;       

  IE8 = fIEVersion == 8.0;        

if (IE55) {         

    return "IE55";       

  }        

if (IE6) {         

    return "IE6";     

    }       

  if (IE7) {       

      return "IE7";    

     }      

   if (IE8) {       

      return "IE8";     

    }    

}//isIE end   

  if (isFF) {      

   return "FF";   

  }    

if (isOpera) {       

  return "Opera"; }

}//myBrowser() end

//以下是调用上面的函数

if (myBrowser() == "FF") {   

  alert("我是 Firefox");

}

if (myBrowser() == "Opera") {   

  alert("我是 Opera");

}

if (myBrowser() == "Safari") {   

  alert("我是 Safari");

}

if (myBrowser() == "IE55") {   

  alert("我是 IE5.5");

}

if (myBrowser() == "IE6") {   

  alert("我是 IE6");

}

if (myBrowser() == "IE7") {   

  alert("我是 IE7");

}

if (myBrowser() == "IE8") {    

alert("我是 IE8");

}

 

下面给出一个判断当前浏览器是IE的JS代码.

 

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。 

 

<script>

 

var ie = !-[1,];

 

alert(ie);

 

</script>

 

 

 

 

 

二、怎么在节点后面插入节点

 

 

第一种

function insertEle() { ?

    var oTest = document.getElementById("box-one"); 

    var newNode = document.createElement("div"); 

    var reforeNode = document.getElementById("p1"); 

    newNode.innerHTML = " This is a newcon "; 

    oTest.insertBefore(newNode,reforeNode.nextSibling);//新建的元素节点插入id为P1节点元素的后面。 

}

 

 

第二种

// 自定义函数向后插入

function insertAfter( newElement, targetElement)

{

   var parent = targetElement.parentNode;

   if ( parent.lastChild == targetElement )

   {

        // 如果最后的节点是目标元素,则直接添加。因为默认是最后

        parent.a( newElement );

   }

   else

   {

        //如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面

        parent.insertBefore( newElement, targetElement.nextSibling );

   }

}

6.26