繁体   English   中英

如何提醒用户其浏览器不是最新版本?

[英]How to alert a user their browser is not the latest version?

我找到了.NET的版本,但是找不到javascript / jquery的方式来做到这一点。 我在最新的IE / Chrome / FF / Safari / Opera中测试了我的网站。 (对我而言)这是一项艰巨的任务,而且不增加向后兼容性。 消息将仅仅是使用其他最新的浏览器。 有没有执行此操作的脚本? 我希望找到一个跟踪此类事件的资源,因此我不必这样做。

您可以navigator.appVersion查找版本并使用navigator.appName过滤相关版本,这可以为您提供一个版本号,您可以将其与可以设置的最低所需版本进行比较。

使用这样的东西(JSFiddel),您可以分解字符串并获取版本。

var objappVersion = navigator.appVersion;
var objAgent = navigator.userAgent;
var objbrowserName = navigator.appName;
var objfullVersion = '' + parseFloat(navigator.appVersion);
var objBrMajorVersion = parseInt(navigator.appVersion, 10);
var objOffsetName, objOffsetVersion, ix;
if ((objOffsetVersion = objAgent.indexOf("Chrome")) != -1) {
    objbrowserName = "Chrome";
    objfullVersion = objAgent.substring(objOffsetVersion + 7);
}
else if ((objOffsetVersion = objAgent.indexOf("MSIE")) != -1) {
    objbrowserName = "Microsoft Internet Explorer";
    objfullVersion = objAgent.substring(objOffsetVersion + 5);
} // In Firefox
else if ((objOffsetVersion = objAgent.indexOf("Firefox")) != -1) {
    objbrowserName = "Firefox";
}
else if ((objOffsetVersion = objAgent.indexOf("Safari")) != -1) {
    objbrowserName = "Safari";
    objfullVersion = objAgent.substring(objOffsetVersion + 7);
    if ((objOffsetVersion = objAgent.indexOf("Version")) != -1) objfullVersion = objAgent.substring(objOffsetVersion + 8);
} // For other browser "name/version" is at the end of userAgent
else if ((objOffsetName = objAgent.lastIndexOf(' ') + 1) < (objOffsetVersion = objAgent.lastIndexOf('/'))) {
    objbrowserName = objAgent.substring(objOffsetName, objOffsetVersion);
    objfullVersion = objAgent.substring(objOffsetVersion + 1);
    if (objbrowserName.toLowerCase() == objbrowserName.toUpperCase()) {
        objbrowserName = navigator.appName;
    }
}
if ((ix = objfullVersion.indexOf(";")) != -1) objfullVersion = objfullVersion.substring(0, ix);
if ((ix = objfullVersion.indexOf(" ")) != -1) objfullVersion = objfullVersion.substring(0, ix);
objBrMajorVersion = parseInt('' + objfullVersion, 10);
if (isNaN(objBrMajorVersion)) {
    objfullVersion = '' + parseFloat(navigator.appVersion);
    objBrMajorVersion = parseInt(navigator.appVersion, 10);
}

这里的示例代码。

但是,使用可能缺乏支持的单个功能检查兼容性并告知用户任何不兼容性并解释任何后果可能会更有益。

检查这些家伙做了什么: 浏览器更新计划 您可以轻松集成它,并且它们提供代码示例: http : //browser-update.org/

自行实现将变得更加困难,并且您将必须定期更新浏览器版本数据。

一种解决方案是在div中具有警告消息,并且该div隐藏在后续的媒体查询部分中。 然后,只有支持CSS 3媒体查询的浏览器才会自动隐藏此警告消息div。

暂无
暂无

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

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