vue项目在IE11报“SCRIPT445: 对象不支持此操作”,怎么破?

作者站长头像
站长
· 阅读数 13

其他浏览器一切正常,只有在IE下报错,页面空白,啥也不显示。。vue项目在IE11报“SCRIPT445: 对象不支持此操作”,怎么破?点击后查看报错位置:vue项目在IE11报“SCRIPT445: 对象不支持此操作”,怎么破?

也查了一下解决办法,在main.js添加:

import 'core-js'
import 'regenerator-runtime/runtime'

依然是这个报错,大佬们有解决办法嘛?

回复
1个回答
avatar
test
2024-07-20

问题已经解决了,记录一下,首先可以确定,报错原因肯定是js兼容性的问题比较奇怪的地方是本地起服务是无法定位到的,必须在线上环境查看线上环境的报错可以定位到具体的行:answer image

将线上chunk-vendors.js下载到本地,定位到42行answer image

可以发现和vue-lazyload.js有关,找到对应1.3.4版本的源码,发现是es6语法(最简单的办法是搜索‘let’、‘const’等关键字来判断)answer image

问题原因找到了就好解决了,查看1.3.3版本还是es5语法修改项目pageckage.json中依赖的vue-lazyload版本,锁定1.3.3,搞定!

  "dependencies": {
    // "vue-lazyload": "^1.3.2"
    "vue-lazyload": "1.3.3"
  }

在此吐槽一下,vue-lazyload居然在小版本里升级es6语法,忽略了兼容性,那些没有锁定版本的岂不是都要踩坑了。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容