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浏览器上测试它。 –