有没有js判断chrome浏览器版本过低的代码

有没有js判断chrome浏览器版本过低的代码,第1张

var browser = getBrowserInfo() ;//浏览器信息

//alert(browser);//IE 110

//IE11以下: MSIE 100、MSIE90等

//chrome:chrome/410227289 [返回的是个数组]

//firefox: firefox/420 [返回的是个数组]

var verinfo = (browser+"")replace(/[^0-9]/ig,""); //浏览器版本

//alert(verinfo);//110

//IE浏览器: 110/100/90

//chrome浏览器:410227289

//Firefox浏览器: 420

function getBrowserInfo()

{

var agent = navigatoruserAgenttoLowerCase() ;

//consolelog(agent);

//agent chrome : mozilla/50 (windows nt 61; wow64) applewebkit/53736 (khtml, like gecko) chrome/410227289 safari/53736

//agent firefox : mozilla/50 (windows nt 61; wow64; rv:420) gecko/20100101 firefox/420

//agent IE11: mozilla/50 (windows nt 61; wow64; trident/70; slcc2; net clr 2050727; net clr 3530729;

//接上net clr 3030729; media center pc 60;infopath2; net40c; net40e; rv:110) like gecko

(可以看出IE11中不包括MSIE字段)

//agent IE10: mozilla/50(compatible; msie 100; windows nt 61; wow64; trident/60)

var regStr_ie = /msie [\d]+;/gi ;

var regStr_ff = /firefox\/[\d]+/gi

var regStr_chrome = /chrome\/[\d]+/gi ;

var regStr_saf = /safari\/[\d]+/gi ;

//IE11以下

if(agentindexOf("msie") > 0)

{

return agentmatch(regStr_ie) ;

}

//IE11版本中不包括MSIE字段

if(agentindexOf("trident") > 0&&agentindexOf("rv") > 0){

return "IE " + agentmatch(/rv:(\d+\\d+)/) [1];

}

//firefox

if(agentindexOf("firefox") > 0)

{

return agentmatch(regStr_ff) ;

}

//Chrome

if(agentindexOf("chrome") > 0)

{

return agentmatch(regStr_chrome) ;

}

//Safari

if(agentindexOf("safari") > 0 && agentindexOf("chrome") < 0)

{

return agentmatch(regStr_saf) ;

}

}

近几个月来的工作是一个交易系统持续改进项目 迭代发布周期大约为 ~ 周 最近一次迭代是V 版 在礼拜三完成发布 不幸的是 第二天上午就被老大逮过去 原来老大从生产中揪出了一个bug 大致的问题如下

系统中有一个常用的自定义控件 目的是协助选择客户 而V 版的持续改进需求是给控件增加两个筛选选项 支持不同的默认值配置 很简单的一个需 求 代码修改也简单 其中一个修改是给一个js文件里边的一个函数增加了一个传入参数 用来传递配置值 经过RC R测试 一切都显得很正常 不过上 了生产才被发现bug了 加载出来的客户明显不正常 数目不对 也与预期的查询配置不相符

检查控件内部跳转链接 发现问题 传递的参数明显与预期不符 而这个链接则是由上面修改过的JS函数生成 因此判定问题是由于客户端缓存了原版JS 文件 新函数的调用由旧函数所替换引发的 经过清除缓存 重新加载页面后 这个自定义控件能够正常工作 很不幸的是 我们是不能通过打电话告诉每一位用 户 你需要清除缓存 然后才能正常使用这个功能

到此时 我才意识到需要一种方法来控件JS的缓存问题 否则 后续任何涉及JS文件内容的修改 都会因为缓存无法获取最新JS文件 而导致生产事故

原则上 我们是需要在有JS更新的时候 才会去重新加载JS文件 而不是每次都重新加载 因此第一种做法给JS应用地址后添加随机参数是不可取的 因为它意味着 几乎每次加载页面都会是重新加载JS 而不会合理的利用缓存JS 但是 我们还有第二种更合理的做法 如果关注过一些国外网站代码 会发现 他们通常是在js链接后添加一个版本号参数 而不是随机数 当js代码发生修改时 只需要将版本号加 就可以很巧妙的解决通知客户端更新js文件 不知道 谁是第一个想到这种方法的人 不过毫无疑问 他是值得我们钦佩的 真是一个不错的idea的!

lishixinzhi/Article/program/Java/JSP/201311/20638

<html>

<head>

<title>获取浏览器版本</title>

<script tyep=text/javascript>

function getAppversion(){

alert(navigatorappVersion);

}

</script>

</head>

<body onload="getAppversion()">

获取浏览器版本测试

</body>

</html>

当您需要时,可以考虑使用一些自动版本控制工具,如Git,SVN等。使用这些工具,您可以跟踪JS代码的更改,并将新的版本号自动更新到JS文件中。对于Git来说,可以使用Git标签来标记不同的版本,而它们也可以自动分配版本号,从而使您不必手动修改JS版本号。

此外,您还可以使用脚本。以Nodejs为例,您可以使用npm的packagejson文件来自动更新JS版本号,其中可以设置版本号的规则,以便自动生成版本号,而不需要手动修改。

同样,您也可以使用一些工具来,如Grunt,Gulp等。使用这些工具,您可以自定义构建脚本,从而在构建过程中自动更新JS版本号。

总之,您可以使用自动版本控制工具,脚本或工具来,以便轻松管理JS代码更新,而无需每次手动修改版本号。

以上就是关于有没有js判断chrome浏览器版本过低的代码全部的内容,包括:有没有js判断chrome浏览器版本过低的代码、js文件缓存之版本管理详解、谁知道用js或jQ怎么判断浏览器的版本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9813506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存