一:Vue 2.x cli1、 使用vue2.0的项目在IE11版本浏览器中是空白的  或者路由跳转但是而页面显示依旧是上一个路径的页面元素  这是因为ie11不支持es6  而我们之前有使用的babel-loader  它仅是将es6的语法转为es5  却不会去转换es6的新属性  例如promise  所以此时我们需要使用到babel-polyfill  以下是具体操作方法

首先用cnpm 安装babel-polyfill     npm install --save-dev babel-polyfill

然后在webpack.base.conf.js 文件中修改 module.exports 中的entry,添加 babel-polyfill:     app: ['babel-polyfill', './src/main.js']

然后再main.js中直接引入:  import 'babel-polyfill'   最好放在第一个引入

完成上述一系列操作之后,在IE11浏览器中重新跑下项目,你就会发现,你辛苦做的页面出现了!

如果还没出现  不妨检查一下  看看自身项目中是否还有其它使用了es6却没有添加在babel-loader转化配置中的  例如保存静态文件的文件夹static 则需要:

另外引入的一些组件也可能存在这方面的问题  找到并添加进去就ok了  到这里ie11的兼容基本上就差不多了 接下来谈谈我自己项目中遇到的其它问题  欢迎探讨

2、vue  v-model绑定computed的问题   在Chrome中是支持v-model直接绑定computed值的  但是在ie11中  计算属性中必须有get属性  例如:

如果无需v-model绑定   可以直接采用:value绑定computed  则无需改造computed

3、在ie11浏览器中访问网页  最好使用ip地址访问   localhost时不时会出现莫名的错误

4、在ie11中  window,print()  打印网页时  自带的网页信息会显示在页眉和页脚  在Chrome浏览器中  可以通过图一的方式去除

图一

但是在ie11中  页眉页脚脱离文档流  且展示在页面最上层  正在寻求解决方案

5、在ie11中src属性接收的值如果是错误的ip地址格式则会报错  例如http://192.168.3.71:8083null  后者http://192.168.3.71:8083undefined

自身项目错误示例:在home.vue中img引入的后端返回头像  在正确的ip地址后边拼接后端返回的空值或者无效值

7、IE11上router-link无法跳转,主要是因为当url的hash change的时候,浏览器没有做出相应。这时候需要做一个兼容,当浏览器是IE11时手动给url加一个hashChange事件

下面是在网上找的两种方法

第一种:

第二种:直接添加在main.js入口文件的最后即可

8、如果ie11中get请求一直从缓存中获取   则可以在请求头中添加'Pragma', 'no-cache'

//当只设置cacahe-control: 'no-cache'时,IE浏览器始终返回304,抓包工具抓不到包,请求不和服务器确认

//当只设置cacahe-control: 'no-cache'时,google浏览器始终返回200,抓包工具可以抓取包,请求重新从服务器获取数据,没有利用到浏览器的缓存功能 'cache-control': 'no-cache',

//当只设置Pragma: 'no-cache'时,IE浏览器始终返回200,抓包工具可以抓到所有包,请求重新从服务器获取数据,没有利用到浏览器的缓存功能

//当只设置Pragma: 'no-cache'时,google浏览器始终返回200,抓包工具可以抓到所有包,请求重新从服务器获取数据,没有利用到浏览器的缓存功能      'Pragma': 'no-cache'

//两个参数同时不设置时,IE浏览器始终返回304,抓包工具抓不到包,请求不和服务器确认

//两个参数同时不设置时,google浏览器首次返回200,之后始终返回304,并且有和服务器确认

//两个参数同时设置时,IE浏览器始终返回200,抓包工具可以抓到所有包,请求重新从服务器获取数据,没有利用到浏览器的缓存功能

//两个参数同时设置时,google浏览器始终返回200,抓包工具可以抓到所有包,请求重新从服务器获取数据,没有利用到浏览器的缓存功能

更多关于避免get请求从缓存中获取的方法请参考:https://blog.csdn.net/weixin_36861725/article/details/82840097

9、在ie11中如果使用的flex布局中  元素必须有height属性否则一些属性不生效例如:-webkit-box-align:center、-webkit-align-items:center。切min-height不会被视为height

10、在ie11中不支持document.body.append(‘$el’),请使用document.body.appendChiled('$el'), 在ie11中不支持$el.remove(),请使用$el.removeNode(true),  到那时谷歌不支持$el.removeNode(true),  这里需要做ie11和谷歌的兼容

11、ie11请求路径上的汉子不会被浏览器编码  只会乱码导致接口404  例如A标签下载路径或者哈希值中的参数有汉字都会乱码,这里需要前端自行编码请求,后端收到请求是解码后的url无需处理   以下是a标签全局编码汉子的写法

if (window.navigator.userAgent.indexOf('Trident') >= 0) {

window.addEventListener('click', (ev) => {

if (ev.target.nodeName === 'A') {

let dowUrl = ev.target.href

let reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/

if (reg.test(dowUrl)) {

ev.target.href = dowUrl.split('').map((item) => {

if (reg.test(item)) {

return encodeURIComponent(item)

} else {

return item

}

}).join('')

}

}

})

}

同时后端在回传下载文件时   文件名为汉子的  下载下来也会乱码  这里需要后端回传文件时对响应头中的fileName做编码处理  以下贴出参考:

@RequestMapping(

value = {"/download/export"},

method = {RequestMethod.GET, RequestMethod.POST}

)

@Override

public String downloadExport(@RequestParam("filepath") String filepath, HttpServletRequest request, HttpServletResponse response) {

if (StringUtils.isEmpty(filepath)) {

return null;

} else {

if (filepath.startsWith("/")) {

filepath = filepath.substring(1);

}

String rootPath = FileUtils.getDownTmpRoot();

String exportFilepath = rootPath + filepath;

this.outputStream(request, response, "application/octet-stream", exportFilepath);

return null;

}

}

@Override

protected void outputStream(HttpServletRequest request, HttpServletResponse response, String contentType, String filepath) {

if (!StringUtils.isEmpty(filepath)) {

InputStream input = null;

OutputStream output = null;

File file = null;

try {

file = new File(filepath);

if (file.exists()) {

response.setCharacterEncoding("UTF-8");

response.setContentType(contentType);

response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(file.getName(),"utf-8"));

input = new FileInputStream(file);

output = response.getOutputStream();

IOUtils.copy(input, output);

return;

}

} catch (Exception var18) {

return;

} finally {

IOUtils.closeQuietly(input);

IOUtils.closeQuietly(output);

try {

org.apache.commons.io.FileUtils.deleteQuietly(file);

} catch (Exception var17) {

}

}

}

}

12、ie11  不支持flex: 1  的写法   如有需要请规范书写  flex:1 1 auto

13、ie11不支持new Date(2021-3-1)是不支持的  需要将  -  换成  /  例如:new Date(2021/3/1)

html引入vue不兼容ie11,Vue在IE11版本浏览器中的兼容性问题相关推荐

  1. vue框架项目部署到服务器_在浏览器中在线尝试无服务器框架项目!

    vue框架项目部署到服务器 无服务器框架是无服务器工具的一致领导者. 但是,没有简单的方法可以在线试用无服务器框架项目. 您确实需要一个体面的开发人员设置,并且需要一些工作来设置sls , npm等. ...

  2. vue cli3兼容win7 32位的ie8浏览器打不开提示页面,处理方式,跳转提示的页面是后端路由指向

    1.在项目的index.html中加入js <script> function browserVersion() { var userAgent = navigator.userAgent ...

  3. Vue源码--解读vue响应式原理

    原文链接:https://geniuspeng.github.io/2018/01/05/vue-reactivity/ Vue的官方说明里有深入响应式原理这一节.在此官方也提到过: 当你把一个普通的 ...

  4. element ui 兼容低版本浏览器

    基于ES6的用Vue框架element ui写的页面,如果当需要解决兼容低版本浏览器时,会遇到在低版本浏览器中不显示效果,页面一片空白,但控制台也不报错,而在高版本可以正常显示的情况. 低版本效果: ...

  5. 低版本浏览器兼容处理

    1.HTML5新标签对IE低版本浏览器的兼容处理 问题概述:IE8浏览器中还没有添加对HTML5新标签的支持,当在页面中使用HTML5新标签时,新标签不兼容 1)使用JavaScript新增元素的方法 ...

  6. html引入vue不兼容ie11,关于vue.js:iview按需引入ie11不兼容报无效字符问题解决

    筹备工作 //借助插件 npm install babel-plugin-import --save-dev // .babelrc { "plugins": [["im ...

  7. VUE项目兼容IE11 遇见的问题 SyntaxError: strict 模式下不允许一个属性有多个定义;ie11下载excel文件需要用navigator.msSaveBlob

    最近要把vue项目兼容ie11 前面引入bable等一系列操作就不说了,下面说一下具体具体的问题 1  如图所示  SyntaxError: strict 模式下不允许一个属性有多个定义, 点击sta ...

  8. html中使用VUE时IE不兼容,vue2.x遇到ie11不兼容的坑

    有个b端项目,使用vue2.x搭建,在ie11 浏览器打开网页显示空白,控制台提示'语法错误'.'不支持defineProperty...'.'无法获取未定义或 null 引用的属性"cal ...

  9. vue 项目兼容 IE 浏览器

    前言 : 网上 找了很多关于 vue项目兼容 IE 浏览器的 教程步骤 , 写的 非常详细 , 但根据我自己的项目,怎么找 都没有找到 webpack.base.conf.js 这个文件 ,就没办法配 ...

最新文章

  1. ubuntu16.04 ROS安转及RVIZ启动
  2. c语言表达式的后缀,中缀表达式转换成后缀表达式C语言程序(一)
  3. phpStudy项目目录无法访问(报错500、400)
  4. pytho基础之文件处理
  5. 创业路上的这点事之 从无到有,从有到......
  6. 文本模式下的分辨率对照表
  7. android手势识别
  8. 中石油训练赛 - Switches(高斯消元求逆矩阵+逆矩阵求线性方程组)
  9. spring学习(34):构造函数依赖注入
  10. typescript 接口 interface 的理解
  11. 科目三并不难 盘点科目三技巧
  12. linux 卸载 usbmouse,8 Linux usbmouse设备驱动程序
  13. 9.特殊矩阵的压缩存储
  14. Leetcode 17.电话号码的组合(回溯法)
  15. Maven安装与配制环境【win7/win10】
  16. Linux镜像克隆网卡流量
  17. 设置盒子背景色透明度
  18. opencv小案例 --- 证件照背景替换
  19. tapd获取相应内容
  20. 蓝桥杯学习——递归问题(上楼梯)

热门文章

  1. MySQL认证介绍 (转帖)
  2. HQChart使用教程11-如何把K线数据API替换成自己的API数据
  3. JSP之JSTL标签
  4. fiddler https 抓包
  5. 【C语言】BC102 带空格直角三角形图案(DAY 9)
  6. 红外热释电处理芯片 BISS0001
  7. asp毕业设计——基于vb+VB.NET+SQL Server的图书馆管理信息系统设计与实现(毕业论文+程序源码)——图书馆管理信息系统
  8. CentOS之VI编辑器的常用命令
  9. chtMultiRegionFoam求解器及算例分析
  10. 【2022秋招】IC设计/FPGA开发秋招经历总结(2)——公司专题