Youtube Javascript API:在IE中不起作用
Youtube Javascript API: not working in IE
我有一个嵌入式的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在IE中不起作用,IE不支持addEventListener((,所以我尝试将该行替换为:
youtubeplayer.attachEvent("onStateChange", onytplayerStateChange);
但它也不起作用。(这个问题的作者说他最终通过把"onComplete放在我的colorbox中,把swfobject放进去"来解决它,但我在这里没有使用colorbox(我什至不知道那是什么(,所以我不明白他的意思。
使用 alerts(( 进行调试,我看到确实调用了第一个函数(onYoutubePlayerReady(((,但我什至无法判断事件侦听器是否未注册,或者是否是 getElementById(( 不起作用;我尝试通过添加以下内容进行调试:
alert(typeof youtubeplayer);
紧随其后,但它甚至没有弹出。
哦,还有一件事:视频在Firefox和Safari中自动启动,但在IE中也不会。(是的,我在服务器上运行它,而不是在本地页面上(。
有人有什么想法吗?我真的不知道还能尝试什么。
好的,找到了解决方案。猜猜那是什么?只是写成:
var youtubeplayer = document.getElementById('youtubeplayer');
它在IE 8中完美运行。它所需要的只是"var"关键字。
以防万一它对有相同问题的其他人有用......
- window.opener.document在ie中不起作用
- 为什么Telerik cdn在IE中不起作用
- JQuery脚本在IE中不起作用
- 默认光标在IE和Mozilla中不起作用
- Asp自定义验证器在IE-11中不起作用
- knockoutjsforeach在IE 9中不起作用
- 谷歌分析在IE中不起作用
- javascript中的SVG转换在IE 11中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 在IE中切换javascript不起作用的复选框
- JQuery日期选择器在IE 7上不起作用
- HTML表单在IE中不起作用
- Javascript style.background在IE中不起作用
- 对<asp:IE 10的TextBox;不起作用
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- SPA异步调用在IE 11中不起作用
- 脚本在IE 9中不起作用
- ng-单击在IE中不起作用的选项选择Angularjs
- JQuery 双击侦听器在选择 - IE 不起作用
- 脸书登录IE不起作用