Я пытаюсь получить один из множества видеофайлов, находящихся на сервере, для воспроизведения на веб-странице с использованием HTML или HTML5. Он должен работать на основе любого имени файла, переданного в URL через аргумент. Это код, который у меня есть, но он не работает.
Пример: www.mysite.com?video=myVideo.mp4
Таким образом, myvideo.mov будет находиться в папке на сервере. Я хочу, чтобы параметр video был равен имени файла видео.
<!DOCTYPE html>
<html>
<body onLoad="GetVideo()">
<div style="width: 100%; height: 768px; controls Autoplay=autoplay; overflow: hidden;">
<video id="video" width="100%" loop autoplay controls>
<source id="#videoSource" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<script>
function GetVideo() {
x = getUrlVars()["video"];
document.querySelector("#videoSource").setAttribute("src", x);
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
</script>
</body>
</html>
Ожидаемые результаты будут:
запустите этот пример URL:
www.mysite.com? Video = myvideo.mp4
Должен воспроизводиться видеофайл "myvideo.mp4", который находится в папке сайта на сервере.
Обновленный образец - это больше, чем я хочу, - я принял нижеприведенные рекомендации, но следующее НЕ РАБОТАЕТ. Я пытаюсь заставить это работать во всех браузерах:
Пример: www.mysite.com?video=myVideo.mp4&folder=myFolder
<!DOCTYPE html>
<html>
<body>
<div style="width:100%;overflow: hidden;">
<video width="100%" controls>
<source src='about:blank' type="video/mp4">
</video>
</div>
<script>
function loadVideo() {
var player = document.querySelector('video');
var base = 'http://ercx.natfas.com/';
var videoFile = getUrlVars()["video"];
var folder = getUrlVars()["folder"];
if (${folder} = "") {
player.src = '${base}${videoFile}';
} else {
player.src = '${base}${folder}/${videoFile}';
}
player.load();
player.play();
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
loadVideo();
</script>
</body>
</html>