没有实际做过浏览器兼容的前端开发,只是从一些书上看到过。
美女姐姐问我的时候,我说可以从一些浏览器 有差异的 对象来判断
但是浏览器可能随着时间,越来越一致,可能有些对象/函数版本间改变会比较大。
这样判断是不太好的,咨询过一些前端开发的师兄,他们一般用ua来判断。

<script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        //以下进行测试
        if (Sys.ie) document.write('IE: ' + Sys.ie);
        if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
        if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
        if (Sys.opera) document.write('Opera: ' + Sys.opera);
        if (Sys.safari) document.write('Safari: ' + Sys.safari);
    </script>

参考:
Gareth Heyes检测浏览器版本的语句
html判断IE版本
http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html