兼容ie浏览器代码处理
IE浏览器可谓是前端的头号大敌,但是为了用户的体验,前端开发人员还是不得不去面对这个敌人,本人总结了几点,仅供大家参考:
一、使用Mate标签
将border-radius放在某个文件中的某个元素上时,它没有使用border-radius正确呈现,并且在Internet Explorer 11中的border-radius属性下面有一条红色的卷曲线?
当我尝试在我自己的自定义HTML文件中执行相同操作时:
<div style="width: 100px; height: 100px; background-color: red; border-radius: 5px;"></div>
仅当仿真模式设置为IE8或更低时,IE Inspector中的卷曲线才会出现 – 从而表示此属性在当前模式下不会被超出.
但是,如果在Edge模式下使用IE11,则可能会有一些强制兼容模式的元属性
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8,IE=EDGE" />
或者
<meta http-equiv="X-UA-Compatible" content="IE=edge">
或者
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8" />
以上三种写法是将meta出现在html的head头部中,如果在ie浏览器中,会让ie浏览器启用最高内核解析html代码
二、清除console
ie浏览器下某些事件无效,但是开了控制台事件就有效了。这是由于某些版本的IE(IE8~11)由于脚本保护机制不开控制台是没console对象的,当不支持这个对象时,就会抛出异常停住,这时我们会打开控制台看错误信息,但是打开刷新后页面就会正常更新了。
本办法就是查看代码里是否用到console对象。如果有删除就像了的console调试完之后一定要记得删除。
在vue项目中,如果使用vue-cli3.0以上脚手架:
安装:npm install --save babel-polyfill;
main.js中配置:import 'babel-polyfill'
//放在最顶部,确保全面加载。
最重要是在打包上线的时候,配置babel-plugin-transform-remove-console插件,全面清除console调试,避免有漏网之鱼。
在vue项目中配置babel-plugin-transform-remove-console插件,参见vue项目中清除console
三、ie浏览器不刷新数据,因为页面有缓存
IE浏览器会缓存网页中的GET和XHR的内容,请求方式是get方式时,IE浏览器会进行识别。如果该get请求的url是第一次请求的话,会请求服务器,从数据库中获取数据;如果该get请求的url不是第一次请求的话,那么该url就不会请求服务器,IE浏览器会直接从缓存中拿到上次该url获取的数据。无论是什么插件的get方式请求,IE浏览器都会这样进行处理的,从而导致数据不同步。
//console.log(config);if (config.method == 'post') {config.data = {...config.data,_t: Date.parse(new Date()) / 1000};} else if (config.method == 'get') {config.params = {_t: Date.parse(new Date()) / 1000,...config.params};}config.headers['Cache-Control'] = 'no-cache';
在axios请求上加时间戳,骗过ie浏览。
兼容ie浏览器代码处理相关推荐
- 极光魔链web版,兼容微信浏览器代码分享
只需把配置的短链地址替换代码中的"你的魔链地址"即可 <!DOCTYPE html><html lang="en"> <head& ...
- 兼容所有浏览器的设为首页收藏本站js代码,推荐使用
加入收藏的按钮方法! 大家发现传统的收藏本站按钮在360浏览器下面没有效果了,但是360浏览器用户群却非常之大.所以我们在网上找到一个兼容所有浏览器的收藏本站解决方案,具体功能如下: 设为首页 和 收 ...
- 编写跨浏览器兼容的 CSS 代码的金科玉律
作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是 ...
- js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)
博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...
- 加入收藏js代码 兼容所有浏览器
我们介绍一个可兼容所有浏览器的加入收藏代码代码,大概原理是这样的我们根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令, ...
- js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器
原文:js框架jquery实现幸运大转盘抽奖程序代码,兼容多种浏览器 源代码下载地址:http://www.zuidaima.com/share/1779633798073344.htm 看到网页上有 ...
- html5中加视频的代码,向HTML中插入视频并兼容所有浏览器的方法
向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签,前者兼容性相对好些,后者兼容性让人头疼 最常用的向HTML中插入视频的方法有两种,一种是古老的标签,一 ...
- html5 加入收藏夹,js添加到收藏夹代码 兼容所有浏览器
介绍一个可兼容所有浏览器的加入收藏代码代码,大概原理是这样的我们根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令,如果 ...
- 分享一个帮助你自定义标签并且兼容现代浏览器的javascript类库 : X-tag
为什么80%的码农都做不了架构师?>>> 日期:2012-6-26 来源:GBin1.com 今天我们介绍一个能够帮助你自定义标签的js类库:x-tag,使用这个类库可以快速 ...
最新文章
- 十大成长性人工智能技术!
- 【Android 安装包优化】Tint 着色器 ( 简介 | 布局文件中的 Tint 着色器基本用法 | 代码中使用 Tint 着色器添加颜色效果 )
- Linear_algebra_02_行列式
- HDU 1853 HDU 3488【有向环最小权值覆盖问题 】最小费用最大流
- numpy的基本使用2
- ubuntu18.10安装octave
- Open 语法的使用
- Myeclipse学习总结(9)——MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
- STM32工作笔记0098---Windows下的Linux环境_Cygwin_MinGW_MSYS_MSYS2_之间的关系
- json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)...
- 30天敏捷结果(6):周五回顾,找到三件做的好以及三件需要改善的事情
- 点云数据(point cloud)
- mysql应用教程李辉答案_数据库系统原理及mysql应用教程李辉答案章节期末答案...
- 2022年,4款值得用的报表工具软件推荐!
- 尘埃4 for Mac(DiRT4赛车竞速游戏)原生版
- 重磅!交叉学科将成我国第14个学科门类
- linux根文件系统 /etc/shadow文件详解
- 一位研究生导师的肺腑之言
- 计算机会计u8实验报告,用友erp,u8实验总结
- 我的2018——最美的年龄为最纯的梦想尽最大的努力