Windows更新KB4343909后,为什么我的视频不能在IE和Edge上加载?

问题描述 投票:0回答:1

安装Windows 10 update KB4343909后,我网站上加载的视频已停止加载。它们通过video.js加载,并且只保持readyState = 0和networkState = 0,而不会出现错误。

在Chrome,Firefox,Safari等上,一切仍然可以正常工作,而不是IE和Edge。

js代码看起来像这样:

var video_module = videojs("my-video");
video_module.ready(function(){
  var myPlayer = this;
  $('.video-js').append(loading);
});

video_module.load();

var loadingCheck = setInterval(function(){ 
  if(video_module.networkState() >= 1){
    $('.vjs-big-play-button').css('opacity', 1);
    $('.loading-spinner').remove();
    clearInterval(loadingCheck);
  }
  if(loadingCount === 15){
    if(video_module.src() == '' || video_module.readyState() < 1){
      video_module.dispose();
      //Show timeout message...
      clearInterval(loadingCheck);
    }
  }
  loadingCount++;
}, 1000); 

而html是这样的:

<video id="my-video" class="video-js vjs-default-skin" preload="none"
    data-setup="{}">
  <source src="my/video/url" type="video/mp4">
  <p class="vjs-no-js">No HTML5 video message...</p>
</video>
javascript html5 microsoft-edge video.js
1个回答
0
投票

这里的问题似乎是preload="none"。将其更改为preload="auto"修复了Edge中的问题。

根据更新,它:

确保Internet Explorer和Microsoft Edge支持preload =“none”标记。

我猜测为什么会这样做,这是因为这会阻止用户加载视频(点击它),检查networkState,但是一旦开始加载视频,networkState只会变为1,所以没有一个预加载,它基本上是死锁。无论如何,这就是理论。

© www.soinside.com 2019 - 2024. All rights reserved.