0
我想暫停第3秒的視頻並在上選擇之後立即觸發click
。它目前不工作,儘管我已經嘗試創建另一個元素,並觸發點擊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瀏覽器上測試它。 –