JavaScript

超轻量级php框架startmvc

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

更新时间:2020-07-18 16:42:01 作者:startmvc
我们开发的项目,兼容到IE9+,以下所提到的问题都是在这个项目中所遇见的问题,如有错

我们开发的项目,兼容到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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Vue 兼容