Почему мои видео не загружаются в IE и Edge после обновления Windows KB4343909? - PullRequest
0 голосов
/ 08 сентября 2018

После установки Windows 10, обновление 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>

1 Ответ

0 голосов
/ 08 сентября 2018

Проблема здесь, кажется, была preload="none". Изменение на preload="auto" исправило проблему в Edge.

Согласно обновлению, это:

Гарантирует, что Internet Explorer и Microsoft Edge поддерживают тег preload = "none".

Я предположил, почему он вел себя так же, как и раньше, в том, что он не давал пользователю загрузить видео (нажав на него), отметив networkState, но networkState получает значение 1 только после начала загрузки. видео, так что без предварительной загрузки, это по существу тупики. Это теория в любом случае.

...