【发布时间】:2016-04-25 09:31:58
【问题描述】:
我正在尝试在第 3 秒暂停视频,然后立即在 选择文件 上触发 click。它目前不起作用,即使我尝试创建另一个元素,并像链一样触发点击那个元素(这将点击文件上传)。
尽管如此,在 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') 不起作用。
【问题讨论】:
标签: javascript jquery html youtube-api