首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未在IE11上触发onReady事件

未在IE11上触发onReady事件
EN

Stack Overflow用户
提问于 2016-01-05 01:28:44
回答 1查看 990关注 0票数 0

onReady事件不会在IE11 & Edge上触发,但它在IE10、火狐、Safari和Google Chrome上运行良好。当页面加载时,我使用javascript api将视频静音。这是我写的代码。(注:我正在使用Drupal)

代码语言:javascript
运行
复制
(function ($) {
function onPlayerReady(event) {
    event.target.mute();
}

function muteVideos(video_ids) {

    for (var iframe_id in video_ids) {
        var player = new YT.Player(iframe_id, {
            videoId: iframe_id,
            playerVars:
            {
                "enablejsapi":1,
                "origin":document.domain,
                "rel":0
            },
            events: {
                "onReady": onPlayerReady
            }
        });
    }

}
function loadPlayer(video_ids) {

    if (typeof (YT) == 'undefined' || typeof (YT.Player) == 'undefined') {

        var tag = document.createElement('script');
        tag.src = "https://www.youtube.com/iframe_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

        window.onYouTubePlayerAPIReady = function () {
            muteVideos(video_ids);
        };
    } else {

        muteVideos(video_ids);
    }
}
Drupal.behaviors.eweev_media_youtube_video = {
    attach: function (context, settings) {
        // Array containing iframe ids of the youtube videos that should be
        //  muted provided using drupal_add_js 

        var video_ids = Drupal.settings.eweev_media_youtube_video;

        loadPlayer(video_ids);
    }
};

})(jQuery);

我想知道我是不是错过了什么。

EN

回答 1

Stack Overflow用户

发布于 2016-01-07 20:50:56

我做了一些研究,发现IFrame应用程序接口有一个暂时的问题。对于临时修复,您可以在下面查看相关的堆栈溢出:YouTube iframe player API - OnStateChange not firingYoutube Iframe API not working in Internet Explorer (11)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34596571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档