我经常搜索这个答案,但我找不到它。 好吧,我现在使用的网站主机上传限制为120mb,我需要托管的一些视频比这更大。我想到了几个想法,第一个想法是将视频分成几部分,并使用JavaScript代码使用VideoJS无缝地播放它们。
第二个想法仍然是分割视频,但不知何故将它们连接到1“src:”标签,以便VideoJS可以像1视频一样使用。
第二个想法似乎不可能,所以我选择第一个,知道0个javascript。 我设法拼凑了一些能够播放2个视频的代码,但是当添加第3个视频时,它会很奇怪。 它不会在第一个视频结束时转到第二个视频,而是转到最后一个视频(在本例中为第3个视频)。
我该如何解决这个问题?
我正在使用的代码:
<script type='text/javascript'>
var count=1;
var player=document.getElementById('test');
player.addEventListener('ended',myHandler,false);
function myHandler(e) {
if(!e)
{ e = window.event; }
player.src="test2.mp4";
}
{
var e = document.getElementById("test");
player.id = "test2";
}
</script>
<script type='text/javascript'>
var count=1;
var player=document.getElementById('test2');
player.addEventListener('ended',myHandler,false);
function myHandler(e) {
if(!e)
{ e = window.event; }
player.src="test3.mp4";
}
{
var e = document.getElementById("test2");
player.id = "test3";
}
</script>
请记住我对javascript一无所知
答案 0 :(得分:0)
<script>
标签中的所有变量和函数声明都转到全局范围。
例如,第二个脚本标记与第一个脚本标记共享相同的范围:
<body>
<script>
var foo = "Hello";
</script>
<script>
console.log(foo); // "Hello"
</script>
</body>
所以你在代码中所做的就是宣告所有内容两次,所以你的第二个myHandler声明会覆盖你的第一个。