浏览器不兼容提示

问题:如果项目使用了框架(Angular, React, Vue),而这些框架使用又有局限,只支持部分浏览器。设想用户使用了不支持的浏览器打开网站后一片空白,是多么懵逼的一件事啊!!现实是又不能一个用户一个用户的通知他们这是因为浏览器版本低,不兼容。。。

思路:首先需要判断出不兼容的浏览器,然后给用户添加提示或者重新引导用户到别的页面(让用户知道发生了什么,为什么会这样)。

解决方法:

  1,判断浏览器的版本,需要根据浏览器的代理字符串(navigator.userAgent),然后写一大堆的代码去匹配关键词(chrome, opr, rv:11.0, MSIE 10-6),还要指出那些浏览器的那些版本是不支持的,然后做统一处理(麻烦,最重要的是就算Chrome浏览器也会有不兼容的版本,谁能确保这些浏览器没有人用??)

  2,根据框架或者插件使用的不兼容的方法/属性,判断是否为undefined,判断浏览器是否能支持此框架或插件

    比如Vue 遵循ECMAScript 5的标准,去Can I Use上查找ECMAScript 5的新特性,支持Function.prototype.bind, 数组支持forEach, indexOf方法等等,然后知道vue 使用Function.prototype.bind 方法,就可以如下

Function.prototype.bind || alert('浏览器不支持Vue')

    不要使用Object.defineProperty,因为IE8支持,但IE8上不能运行Vue程序

    如果网站需要跨域访问,就需要判断浏览器是否支持异步请求跨域

'withCredentials' in new XMLHttpRequest() || alert('浏览器不支持异步跨域')

 

转载于:https://www.cnblogs.com/zhang-jian/p/8478072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值