在做公司官网时开发过程中没太注意ie浏览器的兼容情况,等项目后期打开后才发现一片空白
环境:vue2.0
问题:vue项目不管是直接运行还是build之后,ie浏览器(所有版本)中均显示空白
定位:从头开始,将各个组件一个个重新加上去,最后发现某一个组件中用到了swiper模块导致ie报语法错误。
原因:应该是import的时候直接引入了swiper模块,导致打包的时候保留了es6语法
解决方案:
```
第一种:将swiper版本降到3.4.2解决 ps:swiper3和4的api有些不同,需要重新调整一下
第二种:修改引入方式,import Swiper from ‘node_modules/swiper/js/swiper.min.js'
使用第二种swiper4 完整代码(已解决兼容亲测可用!!!!):
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="(imgItem, i) in banlist" :key="i">
<img :src="imgItem.publicityPicturesURL" alt="暂无图片" :onerror="defaultImg" />
</div>
</div>
<!-- 分页器 -->
<div class="swiper-pagination"></div>
<!-- 导航按钮 -->
<div class="swiper-button-prev swiper-button-white"></div>
<div class="swiper-button-next swiper-button-white"></div>
</div>
import Swiper from 'swiper/dist/js/swiper.min.js' // 注意这个兼容IE
import 'swiper/dist/css/swiper.css' // 注意引入的css路径
export default {
name: 'homeView',
components: {
//啥都不需要引入
},
mounted () {
let that = this; //如果下面想要使用变量,请定义
$(function(){
that.swiperHome = new Swiper('.banner .swiper-container', {
pagination: {
el: ".banner .swiper-pagination",
clickable: true,
paginationClickable: true,
},
// 前进后退按钮
navigation: {
nextEl: ".banner .swiper-button-next", // 右按钮
prevEl: ".banner .swiper-button-prev", // 左按钮
},
.....
});
},