मैं एक कंपनी की वेबसाइट पर यूट्यूब वीडियो जोड़ रहा हूं और उन्हें गैर-फ्लैश डिवाइस पर प्रदर्शित करना चाहता हूं। मैं यूट्यूब आईफ्रेम एपीआई के साथ खेल रहा हूं और उपयोगकर्ता को आईफ्रेम में वीडियो बदलने के लिंक पर क्लिक करने के लिए उनके उदाहरणों में से एक अपडेट किया है। संपादित कोड है:यूट्यूब iframe api loadVideoById() त्रुटि
<!DOCTYPE HTML>
<html>
<body>
<div id="player"></div>
<script>
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var done = false;
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'JW5meKfy3fY',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(evt) {
evt.target.playVideo();
}
function onPlayerStateChange(evt) {
if (evt.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
function loadVideo(videoID) {
if(player) { player.loadVideoById(videoID); }
}
</script>
<a href="javascript:loadVideo('kGIjetX6TBk');">Click me to change video</a>
</body>
</html>
केवल एक चीज मैं जोड़ा था:
function loadVideo(videoID) {
if(player) { player.loadVideoById(videoID); }
}
यह सफारी, क्रोम और फ़ायरफ़ॉक्स में ठीक काम करता है लेकिन IE7, 8 या 9 में काम नहीं करता IE7 और 8 में यह एक त्रुटि देता है "ऑब्जेक्ट इस संपत्ति या विधि का समर्थन नहीं करता है"।
क्या यह एपीआई के साथ कोई समस्या है या क्या मैं कुछ गलत कर रहा हूं?
इसे हल किया गया। '... घटनाओं: {'onReady': फ़ंक्शन() {...}' – Xeoncross