现在网络上的浏览器,操作系统就象中国的方言一样,那个叫多啊!这给我们这些开发人员
带来了巨大的痛苦!虽然可能大家的喜好不同!用的系统也不同!有人喜欢用ie,有人喜欢用
firefox,还有人喜欢用腾讯tt,而我喜欢用maxthon.虽然名字可能有很多种,但是内核还是只有
那么的几种!ie内核,netscape内核!怎么样用js来判断各种浏览器的类型呢!
在不同的浏览器中对js的支持程度,语法要求都不大一样!下面的代码为判断代码

<script language="JavaScript">
<!--
function getOs()
{
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
} }
alert("您的浏览器类型为:"+getOs());
-->
</script>

测试一下,你就可以发现了!我用的maxthon,它告诉我的信息却是msie如下图

所以说maxthon和ie是用的同一个内核!而firefox则不是.

js检测浏览器版本代码,兼容ie11 :

<script type="text/javascript">
var userAgent = navigator.userAgent,
rMsie = /(msie\s|trident.*rv:)([\w.]+)/,
rFirefox = /(firefox)\/([\w.]+)/,
rOpera = /(opera).+version\/([\w.]+)/,
rChrome = /(chrome)\/([\w.]+)/,
rSafari = /version\/([\w.]+).*(safari)/;
var browser;
var version;
var ua = userAgent.toLowerCase();
function uaMatch(ua) {
var match = rMsie.exec(ua);
if (match != null) {
return { browser : "IE", version : match[2] || "0" };
}
var match = rFirefox.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rOpera.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rChrome.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rSafari.exec(ua);
if (match != null) {
return { browser : match[2] || "", version : match[1] || "0" };
}
if (match != null) {
return { browser : "", version : "0" };
}
}
var browserMatch = uaMatch(userAgent.toLowerCase());
if (browserMatch.browser) {
browser = browserMatch.browser;
version = browserMatch.version;
}
document.write(browser+version);
</script>

最新文章

  1. find命令的拾遗
  2. java.lang.classNotFound:明明已经导入了jar包,包里也有该类,却找不到的解决方法
  3. freeCodeCamp:Mutations
  4. Debugging WebLogic Server Applications Using Eclipse and the WebLogic-Plugin
  5. android 反编译操作
  6. 解决(防止)DDOS攻击的另一种思想
  7. C#中调用HttpWebRequest类中Get/Post请求无故失效的诡异问题
  8. 求最长公共前缀和后缀—基于KMP的next数组
  9. Linux 命令练习
  10. 人体姿态的相似性评价基于OpenCV实现最近邻分类KNN K-Nearest Neighbors
  11. ios 去掉字符串中的空格 和指定的字符
  12. 换行符\r \n LF
  13. AI 学习路线
  14. python 命令行参数——argparse模块的使用
  15. LVM备份(3)- pg_dumpall
  16. 20155324 2016-2017-2 《Java程序设计》第4周学习总结
  17. discuz3.4:在Centos6.5中安装过程
  18. Java 构造器Constructor 继承
  19. selenium3 浏览器驱动下载及验证
  20. Notes of Daily Scrum Meeting(12.17)

热门文章

  1. sed 神器
  2. API、ABI区别
  3. windows系统安装MongoDB
  4. FileDataSource java的文件操作
  5. java生成随机字符串uuid
  6. PEM文件格式详细解析
  7. redhat编译安装cmake
  8. 发送WIN+SAPCE键,WINDOWS,空格键
  9. jQuery实现文字放大效果
  10. Linux下编译java并生成jar包