gpt4 book ai didi

javascript - Youtube Javascript API : not working in IE

转载 作者:行者123 更新时间:2023-11-30 10:42:00 25 4
gpt4 key购买 nike

我有一个嵌入式 Youtube 视频,我想在用户暂停视频、跳过视频等时捕获事件。按照 Google 文档 (http://developers.google.com/youtube/js_api_reference) 中的示例,我执行以下操作:

var video = (my video ID here);
var params = { allowScriptAccess: "always" };
var atts = { id: "youtubeplayer" };
var x = 854;
var y = 480;
swfobject.embedSWF("http://www.youtube.com/v/" + video + "?enablejsapi=1&playerapiid=ytplayer&version=3", "bobina", x, y, "8", null, null, params, atts);

function onYouTubePlayerReady(playerId) {
youtubeplayer = document.getElementById('youtubeplayer');
youtubeplayer.addEventListener("onStateChange", "onytplayerStateChange");
youtubeplayer.setPlaybackQuality('large');
}

function onytplayerStateChange(newState) {
//Make it autoplay on page load
if (newState == -1) {
youtubeplayer.playVideo();
}

var tiempo=youtubeplayer.getCurrentTime();
//Rounds to 2 decimals
var tiempo = Math.round(tiempo*100)/100;
alert(tiempo);
}

现在,所有这些在 Firefox 和 Safari 中都能完美运行,但无法在 IE8 中运行(我的意思是:视频加载,但事件未被捕获:事件处理程序永远不会被调用)。根据javascript addEventListener onStateChange not working in IE , IE 不支持 addEventListener(),所以我尝试用以下代码替换该行:

youtubeplayer.attachEvent("onStateChange", onytplayerStateChange);

但它也不起作用。 (该问题的作者说他最终通过将“onComplete in my colorbox and put the swfobject in that”解决了这个问题,但我在这里没有使用 colorbox(我什至不知道那是什么),所以我不明白他的意思。

使用 alerts() 进行调试,我看到确实调用了第一个函数 (onYoutubePlayerReady()),但我什至无法判断事件监听器是否未被注册,或者是否是 getElementById() '工作;我尝试通过添加一个调试:

alert(typeof youtubeplayer);

紧随其后,但它甚至没有弹出。

哦,还有一件事:视频在 Firefox 和 Safari 中自动启动,但在 IE 中也不会。 (是的,我在服务器上运行它,而不是在本地页面上)。

有人有什么想法吗?我真的不知道还能尝试什么。

最佳答案

好的,找到解决方案了。猜猜那是什么?只需写成:

var youtubeplayer = document.getElementById('youtubeplayer');

它在 IE 8 中完美运行。它所需要的只是“var”关键字。

以防万一它对遇到同样问题的其他人有用...

关于javascript - Youtube Javascript API : not working in IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com