我有15个视频需要显示。而不是创建15个页面,每个html5视频嵌入一个不同的视频,我宁愿只有一个页面,并通过URL告诉玩家要加载什么。这样我可以拥有15个自定义链接,但只有一个播放器和一个HTML页面。需要所有浏览器,iOS和Android都支持此功能。通过URL传递变量以更改源标记
实施例:
www.mysite.com/videoplayer.html?v=mymovie
www.mysite.com/videoplayer.html?v=mymovie &吨= 13.6 - 这应该跳转到玩家播放头的时间点。
videoplayer.html
<script>
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
alert('Query Variable ' + variable + ' not found');
}
var videoFile = getQueryVariable("v");
var videoElement = document.getElementById("mp4source");
videoElement.setAttribute("source", videoFile + ".mp4");
</script>
<video id="mp4" controls="controls">
<source id="mp4source" src="../videos/jude.mp4" type="video/mp4" />
</video>
main.html中
<div id="menubar1">
<a href="videoplayer.html?v=mymovie">Play Movie</a>
<a href="videoPlayer.html?v=mymovie&t=14.5">Chapter 2</a>
</div>
我是一个初学者的JavaScript,请具体说明在你的答案。
谢谢。
伟大的工作@Kaiido它适用于台式机,没有问题。 Iam在iPhone手机上遇到困难。代码只在iso设备上寻找ogg源代码? – Thanu 2015-02-11 02:40:35
@Thanu否,解决方法只能访问'video'元素,而不是其来源。当你不设置't'参数时会发生问题吗?我无法帮助你太多,因为我没有任何iphone设备,但它确实可以在我的ipad上工作,并且在iOS模拟器 – Kaiido 2015-02-11 02:57:04
上没有't'参数。我刚刚在ipad上测试了相同的结果。它进入正确的页面,但没有加载视频文件。 – Thanu 2015-02-11 03:06:33