Javascript addEventListener onStateChange 在 IE 中不起作用

标签 javascript jquery youtube-api dom-events swfobject

我有两个 colorbox 弹出框,每个框都显示一个 YouTube 视频。当他们玩完后,我试图让他们自动关闭 colorbox 窗口。下面的代码在 Firefox 中完美运行,但在 IE 中我无法使 addEventListener 正常工作。我试过 attachEvent 但没有成功。有人可以就如何解决这个问题提出任何建议吗?这看起来很简单,但我已经筋疲力尽地试图找到解决方案。

更新 1:

好吧,这是我当前的代码。它在 Firefox 中运行完美,但 IE 仅输出良好。 IE8 调试器也不报告任何错误...

function onYouTubePlayerReady(playerId) {
  if (playerId && playerId != 'undefined') {
    if(playerId && playerId == 'ytvideo1'){
      var ytswf = document.getElementById('ytplayer1');
      alert('good');
    } else if(playerId && playerId == 'ytvideo2'){
      var ytswf = document.getElementById('ytplayer2');
    } else {
    }

    setInterval('', 1000);
    ytswf.addEventListener('onStateChange', 'onytplayerStateChange');
    alert('great');
  }
}


function onytplayerStateChange(newState) {
  alert('amazing');
  if(newState == 0){
    $.fn.colorbox.close();
    alert('perfect');
  }
}

更新 3:解决方案

只需将 onComplete 放入我的 colorbox 并将 swfobject 放入其中,它就可以在 IE 中完美运行。

最佳答案

IE 不支持 addEventListener 是吗?您需要 attachEvent 对吧?

if (el.addEventListener){   
    el.addEventListener('click', modifyText, false);    
else if (el.attachEvent){   
    el.attachEvent('onclick', modifyText);   
}

关于Javascript addEventListener onStateChange 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885500/

相关文章:

javascript - 比较 2 个对象数组并删除重复的 javascript

javascript - 使用 Javascript 或 Jquery 查找为对象指定了哪个事件?

youtube - 我可以安排通过 API 发布 YouTube 视频吗?以及其他 'limited' 功能问题

swift - Alamofire 与 YouTube API 问题 (Swift 3)

javascript - 检测图像是否被代理阻止

javascript - 更改选定复选框上的标签类别

php - 从数据库动态填充 <select>

javascript - Select2 在第一次渲染时不显示标签

javascript - jQuery 选择器 $ ('#foo a' ) 是如何计算的?

firefox - 在 HTTP 网站上得到 "Blocked loading mixed active content"