【问题标题】:Trigger click on file upload after pausing the video暂停视频后触发点击文件上传
【发布时间】: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>

这是什么问题,为什么clicktrigger('click') 不起作用。

【问题讨论】:

    标签: javascript jquery html youtube-api


    【解决方案1】:

    你不能那样做。这是由于故意和设计的安全限制。

    【讨论】:

    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多