详解使用VueJS开发项目中的兼容问题

我们开发的项目,兼容到IE9+,以下所提到的问题都是在这个项目中所遇见的问题,如有错误,或者理解不正确的地方,望多多指点。

1. KingEditor,IE下提示‘对象不支持moveToElementText属性或方法'

解决办法:

我用的kingEditor是V4.1.10版本

修改kingEditor.js的5844行:

if (_IE) { var rng = cmd.range.get(true); rng.moveToElementText(div[0]); rng.select(); rng.execCommand('paste'); e.preventDefault(); }

修改为:    

if (_IE) { var rng = cmd.range.get(true); try { rng.moveToElementText(div[0]); rng.select(); rng.execCommand('paste'); e.preventDefault(); } catch (e) { } }

在压缩kingEditor.js后替换kingEditor-min.js即可

2.vue组件的长字符串拼接

在ie不兼容长字符串拼接,需要使用字符串拼接

3.axios.js的post请求。

在chrome下

var newParams = new URLSearchParams(); newParams.append('type',vm.typeNum); newParams.append('num','20'); newParams.append('curpage',vm.cur); axios.post(url,newParams).then(function(res){ }).catch(function(){});

在ie下需要

axios({ method: 'post', url: '/f/api/list/news', data: { type: vm.typeNum, num: 4, curpage: vm.cur }, transformRequest: [function (data) { var ret = '' for (var it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' } return ret }], headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(function (response) { vm.articel_list = response.data.informations; vm.all = Math.ceil(response.data.totalnum/4); },function (responese) { // console.log(responese); })

4.在IE下,提示“Promise”未定义

需要引入polyfill.js文件 下载地址:  https://github.com/babel/babel/tree/master/packages/babel-polyfill

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/152a401d5228237b74e2206e3832dbd4.html