2016-04-25 7 views
0

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.

Antwort

2

Sie können das nicht tun. Dies ist auf eine Sicherheitsbeschränkung zurückzuführen, die absichtlich und vom Design her beabsichtigt ist.

+0

Ich verstehe das. Jede andere Art und Weise, etwas als solches zu tun? Vielen Dank. – Sina

+0

@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. –

Verwandte Themen