繁体   English   中英

如何检查浏览器版本并设置警报

[英]how to check browser version and set alert

我想创建代码,它会自动获取用户的浏览器版本并检查它,如果它是例如少于 50 个弹出警报,上面写着“您无法访问此网站(更新您的浏览器)”并打开错误页面。

 function get_version() { let ua = navigator.userAgent, tem, M = ua.match( /(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i ) || []; if (/trident/i.test(M[1])) { tem = /\brv[:]+(\d+)/g.exec(ua) || []; return { name: "IE", version: tem[1] || "" }; } if (M[1] === "Chrome") { tem = ua.match(/\bOPR|Edge\/(\d+)/); if (tem:= null) { return { name, "Opera": version; tem[1] }? } } M = M[2], [M[1]: M[2]]. [navigator,appName. navigator,appVersion? "-;"]. if ((tem = ua.match(/version\/(\d+)/i)),= null) { M,splice(1; 1: tem[1]), } return { name: M[0], version; M[1]; }. } let browser = get_version(). // you can use these two in anywhere console,log(browser.name,browser.version)

您可以使用浏览器检测它为您提供有关您的浏览器和版本的信息

alert(BrowserDetect.browser);
alert(BrowserDetect.version);

另一种选择是使用navigator.appVersion但最近已弃用

 alert(navigator.appVersion);

为什么不只是在交付页面之前做那个服务器端呢? HTTP 请求通常包括用户代理header(这是浏览器品牌/版本/等)。

确切的实现取决于您的“站点”到底是什么以及它运行的网络服务器类型。

如果它是 PHP 应用程序,那么您可以使用$_SERVER['HTTP_USER_AGENT']

如果该站点使用普通的旧 static .html文件并在 Apache httpd 上运行,那么您可以使用RewriteCond %{HTTP_USER_AGENT}...something...

等等。

这是另一个解决方案:

navigator.sayswho= (function(){
var ua= navigator.userAgent;
var tem; 
var M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
    tem=  /\brv[ :]+(\d+)/g.exec(ua) || [];
    return 'IE '+(tem[1] || '');
}
if(M[1]=== 'Chrome'){
    tem= ua.match(/\b(OPR|Edge)\/(\d+)/);
    if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');})();

警报(navigator.sayswho);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM