1、先看结果

写一段javascript代码,在chrome中执行


在firefox中执行

这样能得到浏览器名称

2、 show me the code

<html>
<body><div id="browser"></div><script>var x = document.getElementById('browser');x.innerHTML = getBrowser();function getBrowser(){var nVer = navigator.appVersion;var nAgt = navigator.userAgent;var browserName  = navigator.appName;var fullVersion  = ''+parseFloat(navigator.appVersion);var majorVersion = parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;// In Opera, the true version is after "Opera" or after "Version"if ((verOffset=nAgt.indexOf("Opera"))!=-1) {browserName = "Opera";fullVersion = nAgt.substring(verOffset+6);if ((verOffset=nAgt.indexOf("Version"))!=-1)fullVersion = nAgt.substring(verOffset+8);}// In MSIE, the true version is after "MSIE" in userAgentelse if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {browserName = "Microsoft Internet Explorer";fullVersion = nAgt.substring(verOffset+5);}// In Chrome, the true version is after "Chrome"else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {browserName = "Chrome";fullVersion = nAgt.substring(verOffset+7);}// In Safari, the true version is after "Safari" or after "Version"else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {browserName = "Safari";fullVersion = nAgt.substring(verOffset+7);if ((verOffset=nAgt.indexOf("Version"))!=-1)fullVersion = nAgt.substring(verOffset+8);}// In Firefox, the true version is after "Firefox"else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {browserName = "Firefox";fullVersion = nAgt.substring(verOffset+8);}// In most other browsers, "name/version" is at the end of userAgentelse if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <(verOffset=nAgt.lastIndexOf('/')) ){browserName = nAgt.substring(nameOffset,verOffset);fullVersion = nAgt.substring(verOffset+1);if (browserName.toLowerCase()==browserName.toUpperCase()) {browserName = navigator.appName;}}// trim the fullVersion string at semicolon/space if presentif ((ix=fullVersion.indexOf(";"))!=-1)fullVersion=fullVersion.substring(0,ix);if ((ix=fullVersion.indexOf(" "))!=-1)fullVersion=fullVersion.substring(0,ix);majorVersion = parseInt(''+fullVersion,10);if (isNaN(majorVersion)) {fullVersion  = ''+parseFloat(navigator.appVersion);majorVersion = parseInt(navigator.appVersion,10);}return browserName;
}
</script>
</body>
</html>

如何得到当前浏览器是什么相关推荐

  1. zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

    zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大 ...

  2. Jquery DIV滚动至浏览器顶部后固定不动代码

    获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 效果例1 代码如下复制代码 <scr ...

  3. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  4. 一些js代码,自己备用的。高手不要笑话我。。(跨浏览器基础事件,浏览器检测,判断浏览器的名称、版本号、操作系统)...

    跨浏览器基础事件 View Code 1 //跨浏览器添加事件 2 function addEvent(obj, type, fn) { 3 if (obj.addEventListener) { 4 ...

  5. python+selenium浏览器常用操作(一)

    1.导入selenium自定义的webdriver.后续可通过调用此协议启动各大浏览器 from selenium import webdriver #浏览器 from selenium.webdri ...

  6. 博客园在微信内置浏览器打开时添加微信赞赏码功能

    我的博客开通了赞赏,看右侧悬浮[打赏],很容易弄,文末有链接. 另外,在微信中打开时,博客正文底部增加微信赞赏码,在微信内置浏览器打开时,长按图片识别,直接可以赞赏. 这本人自己摸索的,未参考任何博文 ...

  7. 【转载】浏览器事件循环机制(event loop)

    首先,本文转自https://juejin.im/post/5afbc62151882542af04112d 当我看完菲利普·罗伯茨的 javascript event loop的演讲的时候,就对于事 ...

  8. 如何禁止浏览器自动填充

    本文由 Deguang 发表于 码路-技术博客 浏览器的保存账户密码功能,给我们带来了很大的便利,但是在有些情况下,我们并不希望浏览器帮我们填充一些表单,然而autocomplete的一些参数项并不能 ...

  9. 基础知识:页面div始终浮在浏览器顶部

    页面div始终浮在浏览器顶部 <html> <head><meta charset="utf-8"/><title>test< ...

  10. javascript与浏览器学习(一)

    待学习----     20160421 标题:JavaScript中浏览器兼容问题  博客地址:http://www.cnblogs.com/DF-fzh/p/5408241.html     简单 ...

最新文章

  1. python安装requests库pip不是_python pip安装requests时报错,怎么解决?
  2. android界面怎么优化字符串,android应用性能优化
  3. TF版本升级问题:成功解决AttributeError: module tensorflow has no attribute mul
  4. 07-01-安装-Exchange Server 2019 on Win 2019 Core
  5. 系统架构设计师 - 软件架构设计 - 特定领域软件架构DSSA(Domain Speciffic Softwore Architecture)
  6. 【Java基础篇】Unicode、进制转换
  7. Silverlight与Flash在FF中的一些注意点
  8. 史上最详细的Linux网卡ifcfg,史上最详细的Linux网卡ifcfg-eth0配置详解
  9. DICOM协议资料汇集
  10. CPU异常分析(以trap00为例)
  11. Ubuntu 16.04 - 64bit 解压 rar 报错 Parsing Filters not supported
  12. 开篇之作,什么是云原生,云原生技术为什么这么火?
  13. 哇,原来CPDA数据分析师证书的好处这么多
  14. noip2016题解
  15. C语言实战--DLL注入器
  16. 仓库管理软件中的账套是什么意思
  17. 小赛毛游C记——初识C语言(1)
  18. css 时间线(timeLine)
  19. Aras Innovator: TOC category的视图
  20. Module ‘/src/components/HelloWorld.vue“‘ has no default export.Vetur(1192)

热门文章

  1. 星光灿烂 拍夜景的技巧和设置
  2. 联名款Redmi K40游戏增强版今日揭晓:神秘女主粉色头发吸睛
  3. 苏宁易购:苏宁控股、苏宁电器合计质押约5.18亿股公司股份
  4. 华为再次重申不造车!谁再言造车,调离岗位
  5. 腾讯社交电商小鹅拼拼 如何突围万亿社交电商赛道?
  6. 荣耀50 Pro+配置参数曝光:AMOLED高刷屏+骁龙888旗舰芯片
  7. 华为P50系列已适配鸿蒙OS 2.0 Beta2:有望4月亮相
  8. 还债速度果然快,罗永浩限高令已再度解除
  9. “呵呵呵”之后 B站又申请了“一键三连”商标
  10. 无人出价!贾跃亭所持2210万股乐视网股票首次拍卖流拍