@AlTerminator

Как сделать так, чтобы источник видео менялся в соответствии с выбранным файлом?

Смена источника видео не работает именно на iOS 6. Выбранное в input видео в теге video появляется с ошибкой. При VarOpt.id = URL.createObjectURL(document.querySelector("input").files[i]); видео вообще не появляется в теге video.

<!DOCTYPE html>
<html lang="ru">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.5">
 <meta name="apple-mobile-web-app-capable" content="yes"/>
 <title>Test</title>
</head>
<body>
<video controls></video>
<input accept="video/*" type="file" onchange="InputSelectFileChange()" multiple>
<select onchange="SelectFileChange()"></select>
<script>

function InputSelectFileChange()
{
  for (var i = 0; i < document.querySelector("input").files.length; i++)
  {
   var VarOpt = document.createElement("option");
   VarOpt.text = document.querySelector("input").files[i].name;
   VarOpt.id = document.querySelector("input").files[i];
   VarOpt.value = document.querySelector("input").files[i].name;
   document.querySelector("select").add(VarOpt);
  }
}

function SelectFileChange()
{
 document.querySelector("video").src = document.querySelector("select")[document.querySelector("select").selectedIndex].id;
 //alert(document.querySelector("input").files[0].name + " " + document.querySelector("input").files[0]);
}
</script>
</body>
</html>


Ошибка на скриншоте:
652b9f389af66131763525.png
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 1
Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!
AlTerminator, Поискал на просторах интернета, а нашёл, что IOS 6 не поддерживает "URL.createObjectURL()"

Используйте: FileReader.

function SelectFileChange()
{
  var file = document.querySelector("input").files[document.querySelector("select").selectedIndex];
  
  var reader = new FileReader();
  reader.onload = function(e) {
    document.querySelector("video").src = e.target.result;
  };
  
  reader.readAsDataURL(file);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы