Ich versuche, das Video auf der dritten Sekunde zu pausieren und click
auf die direkt danach Datei auslösen. Es funktioniert zur Zeit nicht, obwohl ich versucht habe, ein anderes Element zu erstellen und einen Klick auf das Element THAT (welches auf den Datei-Upload klickt) wie eine Kette auszulösen.Klicken Sie auf Datei hochladen nach dem Pausieren des Videos
Obwohl das funktioniert, funktioniert alles gut mit YouTube und pausiert.
Hier ist mein Code:
<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>
Was ist die Frage, warum nicht click
oder trigger('click')
nicht funktioniert.
Ich verstehe das. Jede andere Art und Weise, etwas als solches zu tun? Vielen Dank. – Sina
@Sina Nicht direkte Methoden verfügbar, aber einige 'Hacks' sind hier. http://stackoverflow.com/questions/793014/jquery-trigger-file-input Ich habe es nicht auf X-Browser getestet. –