0
3秒目にビデオを一時停止し、その直後にファイルを選択してをに設定しようとしています。私は別の要素を作成しようとしていて、チェーンのようなTHAT要素(ファイルアップロードをクリックする)をトリガしても、現在は機能していません。ビデオを一時停止した後にファイルのアップロードをクリックする
でも、すべてはYouTubeでうまく動作し、一時停止しています。ここで
は私のコードです:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
(function() {
var stopPlayAt = 3, // Stop play at time in seconds
stopPlayTimer; // Reference to settimeout call
var tag = document.createElement("script");
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
window.onYouTubeIframeAPIReady = function() {
player = new YT.Player("player", {
"height": "315",
"width": "560",
"videoId": "m0hZZTjz-24",
"events": {
"onReady": onPlayerReady,
"onStateChange": onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
var time, rate, remainingTime;
clearTimeout(stopPlayTimer);
if (event.data == YT.PlayerState.PLAYING) {
time = player.getCurrentTime();
if (time + .4 < stopPlayAt) {
rate = player.getPlaybackRate();
remainingTime = (stopPlayAt - time)/rate;
stopPlayTimer = setTimeout(fileOpener, remainingTime * 1000);
//file opener called here
}
}
}
function fileOpener() {
player.pauseVideo();
$('#fileToUpload').trigger('click');
//here to trigger the file upload button
}
})();
</script>
<div id="player"></div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<p>Upload here:</p>
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
動作していないではないかclick
trigger('click')
されている理由の問題は、どのようなものです。
私はそれを理解しています。そのようなことをするための方法やアプローチは他にありますか?ありがとう。 – Sina
@Sina直接利用できるメソッドはありませんが、いくつかの 'Hacks'があります。 http://stackoverflow.com/questions/793014/jquery-trigger-file-input私はX-Browserでテストしませんでした。 –