欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-27 08:14:08
我们开发的项目,兼容到ie9+,以下所提到的问题都是在这个项目中所遇见的问题,如有错误,或者理解不正确的地方,望多多指点。 1. kingeditor,ie下提示‘对象不...

我们开发的项目,兼容到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文件 下载地址: 

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