video.js 在 Internet Explorer 中抛出 InvalidStateError
video.js throws InvalidStateError in Internet Explorer
在 IE11 中使用 video.js 播放器无法加载视频片段。
如果我查看控制台,我会看到 "InvalidStateError" 错误。
违规行在 video.js
包的 xhr
库依赖项内:
// node_modules/video.js/node_modules/xhr/index.js#L210
| if ("responseType" in options) {
> xhr.responseType = options.responseType
| }
如果我在我的计算机上手动删除此行,播放器将会工作。
我该如何解决这个问题?我正在使用 webpack 构建我的应用程序。
它很老套,但您可以使用 webpack-plugin-replace
plugin 将其替换为空字符串以删除该行。
// fixes "InvalidStateError" in IE which occurs at:
// node_modules/video.js/node_modules/xhr/index.js#L210
new ReplacePlugin({
include: [
"/node_modules/video.js/node_modules/xhr/index.js"
],
patterns: [
{
regex: /xhr\.responseType = options\.responseType/,
value: ''
}
],
// required due to a bug in `webpack-plugin-replace`
// see: https://github.com/lukeed/webpack-plugin-replace/issues/6
values: {
"": ""
}
})
在 IE11 中使用 video.js 播放器无法加载视频片段。
如果我查看控制台,我会看到 "InvalidStateError" 错误。
违规行在 video.js
包的 xhr
库依赖项内:
// node_modules/video.js/node_modules/xhr/index.js#L210
| if ("responseType" in options) {
> xhr.responseType = options.responseType
| }
如果我在我的计算机上手动删除此行,播放器将会工作。
我该如何解决这个问题?我正在使用 webpack 构建我的应用程序。
它很老套,但您可以使用 webpack-plugin-replace
plugin 将其替换为空字符串以删除该行。
// fixes "InvalidStateError" in IE which occurs at:
// node_modules/video.js/node_modules/xhr/index.js#L210
new ReplacePlugin({
include: [
"/node_modules/video.js/node_modules/xhr/index.js"
],
patterns: [
{
regex: /xhr\.responseType = options\.responseType/,
value: ''
}
],
// required due to a bug in `webpack-plugin-replace`
// see: https://github.com/lukeed/webpack-plugin-replace/issues/6
values: {
"": ""
}
})