私は本当にこれに困惑しています。サファリでhtml5ビデオプレーヤーとjavascriptを使用しようとしています。1 グリーティング ビデオを再生する 2 ユーザーが選択を行っている間にデフォルトのループ ビデオを再生する 3 ユーザーの選択を再生する 4 デフォルトのループ ビデオに戻る。
1、2、3 は機能しますが、4 は機能しません。
本体からグリーティングビデオを呼び出します
<video id="videok" width=400 height=400 autoplay="autoplay" src="sacagreeting.mov" >
video not supported
</video>
イベントリスナーを本体に設定しました
body onload="myAddListener()"
function myAddListener(){
var myVideo = document.getElementsByTagName('video')[0];
myVideo.addEventListener('ended',myNewSrc,false);
}
ループするデフォルトのビデオを再生する私の機能は
function myNewSrc() {
myVideo = document.getElementsByTagName('video')[0];
myVideo.src="sacarest.mov";
myVideo.loop="loop";
myVideo.load();
myVideo.play();
}
ユーザーがビデオを選択するためにselect要素を使用し、onchangeイベントを使用してビデオ関数を呼び出します
function myNewSrcii() {
myVideo = document.getElementById('videok');
myVideo.loop=""
myquest = document.getElementById('vidquest').value;
switch(myquest)
{
case "a":
myVideo.src="sacaa.mov";
break;
case "b":
myVideo.src="sacab.mov";
break;
case "c":
myVideo.src="sacac.mov";
break;
case "d":
myVideo.src="sacad.mov";
break;
case "e":
myVideo.src="sacae.mov";
break;
case "f":
myVideo.src="sacaf.mov";
}
myVideo.load();
myVideo.play();
}
ループ属性を削除しようとしましたが、myNewSrcii 関数でイベント リスナーを再度設定し、ビデオ タグで onended イベントを使用しましたが、うまくいきませんでした。ビデオイベントが終了したことを確認すると、リスナーはデフォルトのビデオ関数を呼び出しません。どんな助けでも大歓迎です。ありがとう