如何用JS识别IE和firefox

来源:互联网 发布:服务器端口怎么修改 编辑:程序博客网 时间:2024/05/17 04:01

昨天又弄了一个HTML,这个HTML是为了出测试报告用的,所以要求对IE和firefox都要支持,所以要用JS对二者进行判断,网上一搜,N多帖子,总体上大家写的都还不错,

代码如下,


window.onload=function(){createlistener();};
    function createlistener(){
    var trlist = document.getElementsByTagName("tr");
    var str = "have finished testing on "+trlist.length + " module test cases";
    for (i=0; i< trlist.length; i++){
        if (trlist[i].getAttribute("q") == "row") {
            var divid = trlist[i].getAttribute("id");
            //var item = document.getElementById(divid);
            //item.addEventListener("click", function(){showDetails(divid2);}, false);
                  //obj = event.srcElement ? event.srcElement : event.target;
                  if(window.ActiveXObject){
              document.getElementById(divid).attachEvent("onclick", function(event){
                              //alert(event.srcElement.parentNode.id);
                    showDetails1(event.srcElement.parentNode.id+ 'd');
                    });}
                  
                  else{
                    document.getElementById(divid).addEventListener("click", function(event){
                    //alert(event.currentTarget.id);
                    showDetails2(event.currentTarget.id + 'd');
                    }, false);}

    }
    }
    };


function showDetails1(id) {
        var rowToDo = document.getElementById(id);
          var show = rowToDo.className;
      if (show == "rowDetails") {
        rowToDo.className = "";
        } else {
            rowToDo.className="rowDetails";
            };
};

function showDetails2(id) {
      var rowToDo = document.getElementById(id);
    var show = rowToDo.getAttribute("class");
    if (show == "rowDetails") {
        rowToDo.setAttribute("class", "");
        } else {
            rowToDo.setAttribute("class", "rowDetails");
            };
};



我把IE和FF 不同的实现方式,用蓝色标注出来了,其中 if(window.ActiveXObject)是用来判断是否为IE浏览器的,当然大家如果想判断其他浏览器,比如safari,chromek恶意继续google其判断的方法,呵呵


这是IE和firefox兼容性的帖子,http://www.sj33.cn/jc/wyjc/jsjc/200610/10226.html


这是如何识别不同浏览器的实现代码,http://www.jb51.net/article/27876.htm