小编Ber*_*aga的帖子

在 html5 视频上设置 currentTime 会在 Windows Chrome 上引发“PIPELINE_ERROR_DECODE:视频解码错误”

寻找视频(通过显式设置而不是使用播放函数来改变它的 currentTime)可能会导致它抛出

MediaError {code: 3, message: "PIPELINE_ERROR_DECODE: video decode error"}
Run Code Online (Sandbox Code Playgroud)

它只发生在 Chrome 和 Windows 上。

我设法通过更改关闭 Chrome 的“在可用时使用硬件加速”选项在设置下然后重置 Chrome 来修复。

但是,我想要一些不涉及要求用户设置浏览器设置的永久解决方案。

我的服务器返回 206,因为此答案指定/sf/answers/2527137581/ 我正在等待加载事件,视频播放正常,有时跳过工作。如果我尝试以非常快的速度重复搜索,似乎错误会更频繁。如果之前对 setCurrentTime 的调用未完成(寻求事件),我确实有一个侦听器不会让客户端搜索视频

在服务器端,我使用 node + express。我的视频位于静态文件夹中,我使用

app.use('/videos',validateToken,express.static('videos'))
Run Code Online (Sandbox Code Playgroud)

validateToken 正在检查 url 中的 JWT 令牌

html javascript windows google-chrome html5-video

6
推荐指数
0
解决办法
3441
查看次数

如何避免由于mapDispatchToProps函数而重新渲染连接的React PureComponent?

每当调用mapDispatchToProps时,它都会生成新函数以返回。例如:

const mapDispatchToProps = function(dispatch, ownProps) {
  return {
    addToStack: (episodeId, stackId) => {
      return dispatch(StackAction.addEpisodeToStack(episodeId, stackId));
    },
  };
}
Run Code Online (Sandbox Code Playgroud)

每次调用mapDispatchToProps时,它将生成一个带有新箭头功能的新对象。

在我的应用程序中,我常常不得不避免重新渲染组件。使用PureComponent通常是可行的方法。但是,由于功能总是不同的,因此PureComponent将无济于事,我必须创建一个shouldComponentUpdate策略。在这里,我必须将所有mapDispatchToProps函数“列入黑名单”,并忽略所有这些函数。我必须将每个新功能添加到列表中,以免重新渲染。

这是黑名单shouldComponentUpdate样板的示例:

const blacklist = [
  'addToStack',
]

shouldComponentUpdate(nextProps, nextState) {
  for (let i in nextProps) {
    if (blacklist.includes(i)) continue;
    if (nextProps[i] !== this.props[i]) {
      return true;
    }
  }
  for (let i in nextState) {
    if (nextState[i] !== this.state[i]) {
      return true;
    }
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

我想出了一个新的解决方案

const dispatch;
const mapDispatchToPropsFunctions = {
  addToStack: (episodeId, stackId) => { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux

5
推荐指数
1
解决办法
551
查看次数

npm 安装和弃用警告

我最近开始使用 npm,有时在安装过程中会弹出一些警告。

例如,运行

 npm install gulp-chimp --save-dev
Run Code Online (Sandbox Code Playgroud)

产生以下警告

npm WARN 已弃用 to-iso-string@0.0.2:to-iso-string 已弃用,请改用 @segment/to-iso-string。

npm WARN deprecated jade@0.26.3: Jade 已重命名为 pug,请安装最新版本的 pug 而不是 jade

npm 警告已弃用 minimatch@0.3.0:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题

npm WARN 已弃用ough-cookie@2.2.2:解析 Set-Cookie 的 ReDoS 漏洞https://nodesecurity.io/advisories/130

我的问题不是针对 gulp-chimp 的,而是针对 npm 的。我是否应该尝试更新这些软件包?我知道开发人员决定是否使用更新的软件包,我觉得我自己尝试更新软件包可能会破坏某些东西,但我也担心让漏洞存在。

node.js npm

4
推荐指数
1
解决办法
5252
查看次数

标签 统计

javascript ×2

google-chrome ×1

html ×1

html5-video ×1

node.js ×1

npm ×1

reactjs ×1

redux ×1

windows ×1