vue在IE和360兼容模式下无法显示问题

本文介绍了解决360浏览器兼容模式下出现的[vuex] vuexrequiresaPromisepolyfillinthisbrowser错误的方法。通过详细分析360浏览器的工作原理及ES6兼容性问题,并提供了有效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

360兼容模式下报错:[vuex] vuex requires a Promise polyfill in this browser.

原因:

360浏览器中包含了两个浏览器
一个是IE(Trident内核),即兼容模式,在使用网银时需要切换为兼容模式
一个是Chrome(Chrommium内核),即极速模式,普通浏览时使用

  • Chrome51 版起便可以支持 97% 的 ES6 新特性。
  • Firefox53 版起便可以支持 97% 的 ES6 新特性。
  • Safari10 版起便可以支持 99% 的 ES6 新特性。
  • IEEdge 15可以支持 96% 的 ES6 新特性。Edge 14 可以支持 93% 的 ES6 新特性。(IE7~11 基本不支持 ES6

babel-polyfill

babel-polyfill  是针对全局环境的,引入它浏览器就好像具备了规范里定义的完整的特性,一旦引入,就会跑一个  babel-polyfill  实例。用法如下:
1.安装 babel-polyfill
npm install babel-polyfill --save
2.在入口文件中引用:
import 'babel-polyfill'
针对ES6的兼容性问题,很多团队为此开发出了多种语法解析转换工具,把我们写的ES6语法转换成ES5,相当于在ES6和浏览器之间做了一个翻译官。比较通用的工具方案有babel,jsx,traceur,es6-shim等。


法一:webpack.base.conf.js中配置
entry: {
app: [ "babel-polyfill", "./src/main.js"],
}

entry: {
app: "./src/main.js",
"babel-polyfill" : "babel-polyfill"
}


法二:在main.js中引入
import ' babel-polyfill'

但上述方法都未生效!

本人亲测下列两种方法可行:
法一:webpack.base.conf.js中配置
entry: {
    // "babel-polyfill"用来解决的兼容性
    app: ['./node_modules/babel-polyfill/dist/polyfill.js','./src/main.js']
}
法二:
直接引入:
首先,我们需要了解一下为什么在360浏览器兼容模式无法加载.mp4视频。这是因为在360浏览器兼容模式下,浏览器会使用IE内核,而IE内核不支持MP4视频格式。因此,我们需要使用其他方式来解决这个问题。 接下来,我提供两种解决方案供您参考: 1. 使用Flash播放器 我们可以使用Flash播放器来播放MP4格式的视频。具体步骤如下: 1)在页面中引入Flash播放器的插件代码: ```html <object width="600" height="400" type="application/x-shockwave-flash" data="player.swf"> <param name="movie" value="player.swf"> <param name="flashvars" value="file=video.mp4"> <param name="wmode" value="transparent"> </object> ``` 其中,`player.swf`是Flash播放器的插件文件,`video.mp4`是要播放的视频文件。 2)在服务器端设置视频文件的MIME类型为`video/mp4`: ```java response.setContentType("video/mp4"); ``` 这样,就可以在360浏览器兼容模式下使用Flash播放器来播放MP4格式的视频了。 2. 转换视频格式 我们也可以将MP4格式的视频转换为其他格式,比如FLV格式,然后使用Flash播放器来播放。具体步骤如下: 1)使用FFmpeg等工具将MP4格式的视频转换为FLV格式: ```bash ffmpeg -i video.mp4 -vcodec flv -acodec libmp3lame -ar 44100 -ab 128k -f flv video.flv ``` 2)在页面中引入Flash播放器的插件代码: ```html <object width="600" height="400" type="application/x-shockwave-flash" data="player.swf"> <param name="movie" value="player.swf"> <param name="flashvars" value="file=video.flv"> <param name="wmode" value="transparent"> </object> ``` 其中,`player.swf`是Flash播放器的插件文件,`video.flv`是转换后的FLV格式的视频文件。 3)在服务器端设置视频文件的MIME类型为`video/x-flv`: ```java response.setContentType("video/x-flv"); ``` 这样,就可以在360浏览器兼容模式下使用Flash播放器来播放FLV格式的视频了。 希望这些步骤代码能够帮助您解决问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值