2012-05-27 13 views
20

समाप्त हुआ तो मेरे पास सरल HTML कोड है जो छवि पर क्लिक करने के बाद यूट्यूब वीडियो चलाता है।घटना जब यूट्यूब वीडियो

<body> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

<div id="ytapiplayer2" style="display:none;"> 
<object width="1280" height="745"> 
<param name="movie" value="http://www.youtube.com/v/kCfP003Btjw?fs=1&hl=en_US&rel=0&autoplay=1"></param> 
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param> 
<embed src="http://www.youtube.com/v/kCfP003Btjw?fs=1&hl=en_US&rel=0&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="745"></embed> 
</object> 

</div> 


<img src="https://i.qmyimage.com/mgen/global/zGetImageNew.ms?args=%22shpimg4198.jpg%22,425,96,1" id="imageID" /> 
<script type="text/javascript"> 
$('#imageID').click(function() { 
$('#ytapiplayer2').show(); 
$('#imageID').hide(); 
}); 
</script> 
</body> 

मुझे वीडियो समाप्त होने के बाद वीडियो को छिपाने और छवि को वापस दिखाने की आवश्यकता है। इसे कार्यान्वित करना कैसे संभव है? https://developers.google.com/youtube/js_api_reference

आपको क्या करना होगा onStateChange घटना, जब समाप्त हो गया है जो आप 0 दे देंगे:

उत्तर

30

यूट्यूब एक JavaScript API है।

player.addEventListener("onStateChange", function(state){ 
    if(state === 0){ 
     // the video is end, do something here. 
    } 
}); 
+0

एचएम, मैं अपने कोड, player.addEventListener ("onStateChange", समारोह (राज्य) {; } अगर (राज्य === 0) { चेतावनी ('अंत')}) को जोड़ा गया ; लेकिन घटना नहीं होती है! – ihorko

+1

शायद आपको वीडियो एम्बेड करने के तरीके को बदलना होगा, यहां उदाहरण देखें: https://developers.google.com/youtube/js_api_reference#Examples और एपीआई स्क्रिप्ट लोड करना याद रखें – wong2

+2

राज्य एक ऑब्जेक्ट है। आपको state.data === 0 (मैंने iframe url में उपयोग और enablejsapi = 1 और संस्करण = 3 का उपयोग करना होगा) –