IE11 JavaScript(错误:SCRIPT445)“对象不支持此操作”

前端之家收集整理的这篇文章主要介绍了IE11 JavaScript(错误:SCRIPT445)“对象不支持此操作”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 Javascript解决方案异步加载youtube播放器API.
当滚动到其位置时,整个脚本应该播放视频.
它适用于所有浏览器以及IE(11),但有时在IE中我在开发人员工具中遇到错误:SCRIPT445(对象不支持此操作).

Youtube播放器仍然有效,但它似乎会崩溃其他脚本.我环顾网络,也在Stackoverflow上.似乎有其他人有类似的问题,但他们太具体了.也许有人可以帮我这个.以下是产生问题的代码部分:

var yt_int,yt_players={},initYT = function() {
        $(".ytplayer").each(function() {
            yt_players[this.id] = new YT.Player(this.id);    <-- Error line 
        });
    };

$.getScript("//www.youtube.com/player_api",function() {
    yt_int = setInterval(function(){
        if(typeof YT === "object"){
            initYT();
            clearInterval(yt_int);
        }
    },500);
});

解决方法

在评估整个脚本之前,IE中存在竞争条件,即触发脚本加载器回调.通过使用setTimeout(initYT,0),您将允许脚本在触发初始化函数之前完成评估.很高兴它有效!

猜你在找的JavaScript相关文章