2010-10-06 15 views
14

पर एचटीएमएल 5 वीडियो "एंडेड" कार्यक्रम गायब है कभी-कभी मेरा एचटीएमएल 5 वीडियो आईपैड पर "एंडेड" ईवेंट नहीं उत्पन्न करता है। ऐसा लगता है जब मैं "नियंत्रण" विशेषता को छोड़ देता हूं और जावास्क्रिप्ट से प्लेबैक शुरू करता हूं। यह आमतौर पर पहली बार ठीक काम करता है, लेकिन दूसरी बार वीडियो चलाता है लेकिन "समाप्त" ईवेंट उत्पन्न नहीं करता है। क्लिप की शुरुआत में रीसेट करने के लिए मैं प्रत्येक प्लेबैक के बाद "लोड()" कॉल करता हूं (क्योंकि खोज बिल्कुल काम नहीं लगती है - this thread देखें)। मेरे पास एक वर्कअराउंड है, जो "टाइमअपडेट" घटनाओं को ट्रैक करना है और vid.currentTime>=vid.duration पर मेरा अंत-प्ले-प्ले क्रियाएं करना है, लेकिन मैं सोच रहा था कि किसी और ने इस समस्या का अनुभव किया है या नहीं। कुछ प्रासंगिक कोड निम्नानुसार हैं।आईपैड

चीयर्स -क्रिस

दस्तावेज़ ऑनलोड समारोह:

function load() { 
    var vid = document.getElementById('vid'); 
    vid.addEventListener('ended', function() { 
     alert('video ended'); 
     vid.load(); 
    },false); 
} 

एचटीएमएल:

<body onload="load();"> 
<h1>HTML5 Video Test</h1> 
<input type="submit" value="Play" onclick="document.getElementById('vid').play();"> 
<video id="vid" src="test.mov" width="640" height="480"></video> 
</body> 

उत्तर

2

load() का प्रयोग न करें की तलाश के लिए मजबूर करने। यदि आप video.currentTime से 0.10 के बजाय सेट करते हैं तो वीडियो शुरुआत में कूद जाएगा और ended ईवेंट अभी भी ठीक से प्रेषित होगा। (आईओएस 3.2 और 4.2 पर परीक्षण)

+0

धन्यवाद! क्या आपको पता है कि यह कहीं दस्तावेज है? या यह एक बग है? डेस्कटॉप ब्राउज़रों में तलाश (0) काम करता है। – wodenx

+1

यह एक बग है, मैंने इसे अपने ब्लॉग पर "दस्तावेज" किया है: http://blog.millermedeiros.com/2011/03/html5- वीडियो-issues-on-the-ipad-and-how-to-solve -उन्हें/ –