检测不支持的浏览器版本并显示特定的 div 和消息

2023-12-21

我的网站中有一个聊天机器人,它需要最新版本的浏览器才能完美工作,因此我需要向用户显示一条消息:“请将您的浏览器更新到最新版本”。我不想使用第三方插件。如果用户使用此 js 代码使用不受支持的浏览器版本,我如何显示 div

Html

<div id="printVer"></div>

JS

navigator.sayswho= (function(){
    var 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 '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(' ');
})();
document.getElementById('printVer').innerHTML=navigator.sayswho

navigator.sayswho = ( function () {
    var 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 '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( ' ' );
} )();
//document.getElementById('printVer').innerHTML=navigator.sayswho
var str = navigator.sayswho;
var browser = str.substring( 0, str.indexOf( " " ) );
var version = str.substring( str.indexOf( " " ) );
version = version.trim();
version = parseInt( version );
console.log( browser );
console.log( version );

if ( ( browser == "Chrome" && version < 70 ) || ( browser == "Firefox" && version < 53 ) || ( browser == "Safari" && version < 5 ) || ( browser == "IE" && version < 11 ) || ( browser == "Opera" && version < 52 ) ) {
    $( '#printVer' ).show();
}
else {
    $( '#printVer' ).hide();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测不支持的浏览器版本并显示特定的 div 和消息 的相关文章

  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • JQuery Mobile 与 MVC 的链接

    我正在使用 ASP NET MVC 3 和 Razor UI 设置 JQuery 移动网站 我正在生成我的链接 例如 a href See Group 2 a 假设我从 Home Index 访问它 我遇到的问题是 当我点击链接时 它会出现
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述

随机推荐

  • 如何获取溢出:隐藏或溢出:滚动div的真实.height()?

    我有一个关于如何获得 div 高度的问题 我知道 height and innerHeight 但在这种情况下 他们都没有为我完成这项工作 问题是 在这种情况下 我有一个溢出宽度的 div 溢出 滚动 并且 div 具有固定的高度 如果我使
  • woocommerce 在添加到购物车时添加动态价格

    我的任务是 我有 test test1 test2 test3 gt 4 个产品 测试产品价格为 0 美元 添加到购物车时 添加到特定 测试 产品的价格为 500 美元 如何实现这一目标 我使用以下钩子 add action woocomm
  • 使用虚拟数据创建 DataTable 对象

    我正在尝试将 DataTable 数据绑定到手风琴 我发现如果我使用表适配器从数据库检索 DataTable 它会完美地绑定到手风琴 但是我想要做的是创建一个虚拟表 用于测试目的 如果我无权访问我的数据库 创建虚拟表的代码如下 DataTa
  • 使用 Python 从 WSDL 文件创建模拟 Web 服务

    我们正在为远程服务编写一个客户端 该客户端公开 SOAP Web 服务并发布这些服务的 WSDL 定义 我们在测试期间无法访问系统 因此我们想编写一个模拟服务 我们使用 Python 作为客户端 因此理想情况下我们希望使用 Python 作
  • unsigned int 与 size_t

    我注意到现代 C 和 C 代码似乎使用size t代替int unsigned int几乎无处不在 从 C 字符串函数的参数到 STL 我很好奇这样做的原因以及它带来的好处 The size ttype 是无符号整数类型 它是sizeof运
  • 模型中 _set 的 Django 管理器

    我目前正在学习 Django 但我不知道如何自己解决这个问题 我正在看书开发人员库 使用 Django 进行 Python Web 开发在一章中 您将构建一个简单的 CMS 系统 其中包含两个模型 故事和类别 一些通用和自定义视图以及视图模
  • 如何在 Python 中从 YAML 文件创建树形数据结构?

    假设我有一个 YAML 文件 如下所示 template artifacts config a value1 b value2 jars a value1 b value2 scripts a value1 b value2 我希望它像一棵
  • 如何增加 docker-machine 内存 Mac

    我是 Docker 新手 并尝试通过本教程从 Docker 映像设置 MemSQL http docs memsql com 4 0 setup docker http docs memsql com 4 0 setup docker 我使
  • 检查其中一个 div 是否包含我在 nightwatch 中的值

    我在使用 nightwatch js 测试我的 web 应用程序时遇到问题 我需要迭代页面上的所有 div 元素 以检查是否存在包含我之前添加的所有子元素的元素 例如我有 div h2 text1 h2 h3 second text1 h3
  • 如何使用unix替换ear中的文件

    我有一个sample ear 文件 我想替换sample ear 中的特定文件 consider ear file sample ear which content com1 test1 file1 sh and com2 file2 sh
  • C# - POST 请求中的正文内容

    我需要用 C 进行一些 api 调用 我正在使用 Microsoft 的 Web API 客户端来执行此操作 我成功发出了一些 POST 请求 但我不知道如何将字段 Body 添加到我的请求中 任何想法 这是我的代码 static Http
  • 在 LINQ 中加入匿名类型

    我确实有 2 个 C 声明表 它在程序创建期间初始化列 我想根据其 UserID 和 UserName 加入该表 我的代码如下 from nSJL in UserList AsEnumerable join SJL in UserListO
  • jQuery 在 asp net core 2 razor 中设置日期值

    我在我的 asp net core razor 表单中遇到 jQuery 问题 我可以使用 jQuery 在文本等输入类型中更改值 但不能更改日期类型 我不知道为什么 这是项目模型的一部分 只是我想更改形式的属性 DataType Data
  • 判断变量是否能被 2 整除

    如何判断一个变量能否被2整除 此外 如果是 我需要执行一个函数 如果不是 我需要执行一个不同的函数 使用模数 Will evaluate to true if the variable is divisible by 2 variable
  • 设置选择框的默认值

    我是流媒体新手 我尝试为 sidebar selectbox 设置默认值 代码如下 我很感激你的帮助 先感谢您 st sidebar header Settings fichier st sidebar selectbox Dataset
  • 如何在过程或触发器内创建 mysql 事件?

    最近我一直在寻找以下情况的解决方案 我有 mysql 表 其结构 CREATE TABLE IF NOT EXISTS battles id int 11 NOT NULL AUTO INCREMENT active tinyint 1 N
  • 如何在Python中获取多边形内的点列表?

    我进行了很多搜索 但找不到我的问题的任何实际答案 我有一个多边形 例如 86 52 85 52 81 53 80 52 79 48 81 49 86 53 85 51 82 54 84 54 83 49 81 52 80 50 81 48
  • cadvisor 错误报告容器内存使用情况

    cAdvisor 报告 Prometheus 使用的内存为 14GB 而 top 报告为 6 xGB 有人可以解释为什么会出现这种差异吗 container memory usage bytes 的文档说 Current memory us
  • 请求和响应处理之间的 HTTP 断开/超时

    假设以下场景 客户端正在向服务器发送 HTTP POST 请求有效并且 已被服务器处理 数据已插入数据库 Web 应用程序正在响应客户端 客户端超时 并且看不到 HTTP 响应 在这种情况下 我们会遇到以下情况 客户不知道他的数据是否有效以
  • 检测不支持的浏览器版本并显示特定的 div 和消息

    我的网站中有一个聊天机器人 它需要最新版本的浏览器才能完美工作 因此我需要向用户显示一条消息 请将您的浏览器更新到最新版本 我不想使用第三方插件 如果用户使用此 js 代码使用不受支持的浏览器版本 我如何显示 div Html div di