YT 未定义 - 未捕获的 ReferenceError:[youtube api]

2023-12-06

删除了不需要的代码演示

嘿, 我正在实现 Youtube Video Player Api,我在控制台中看到某种错误。

视频如何完美播放,但我想知道为什么会出现错误?如果我将代码保留在骨架模式之外,就不会出现任何错误。

有人可以解释一下吗..

Thanks!!

JS :

(function($) {
    $(function(){
        var cVid, ytData1;
        var callFlexSlider = ({         
            embedVideos : function(){
                function explodeSlider(){
                    $('.sliderNew .flexslider').flexslider({
                        slideshow: false
                    });
                    $('.sliderNew #carousel, .sliderNew .flex-direction-nav').hide();
                }
                function explodeShow(){
                    $('.sliderNew .flexslider').flexslider({ 
                        slideshow: true
                    });
    $('.sliderNew #carousel, .sliderNew .flex-direction-nav').show();
                }
                function getArtistId() {
                    return window.artist_id;
                }
                function loadPlayer() {
                    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() {
                            onYouTubePlayer();
                        };
                    }
                }
                var player;

                function onYouTubePlayer() {
                    player = new YT.Player('player', {
                        height: '335',
                        width: '940',
                        videoId: getArtistId(),
                        playerVars: {
                            controls: 1,
                            showinfo: 0,
                            rel: 0,
                            showsearch: 0,
                            iv_load_policy: 3
                        },
                        events: {
                            'onStateChange': onPlayerStateChange,
                            'onError': catchError
                        }
                    });
                }
                var done = false;

                function onPlayerStateChange(event) {
                    if (event.data == YT.PlayerState.PLAYING && !done) {
                        done = true;
                    } else if (event.data == YT.PlayerState.ENDED) {
                        location.reload();
                        event.target.destroy();
                    }
                }

                function onPlayerReady(event) {
                    console.log('playerReady Event')
                }

                function catchError(event) {
                    if (event.data == 100) console.log("...");
                }

                function stopVideo() {
                    //alert('asdsad');
                    //player.destroy();
                    player.stopVideo();
                    explodeShow();
                }

            },
            init : function(){
                this.embedVideos();
            }

    }); 
    callFlexSlider.init();
    });
})(jQuery);

调用这个loadPlayer();在 document.ready 函数中尝试一下。

  function loadScript() {
                        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);
                        }
                    }

                    function loadPlayer() {
                            window.onYouTubePlayerAPIReady = function() {
                                onYouTubePlayer();
                            };
                    }


$(function () {
  loadScript();
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YT 未定义 - 未捕获的 ReferenceError:[youtube api] 的相关文章

随机推荐

  • java.net.Socket TCP keep-alive 用法

    如何使用java net Socket setKeepAlive boolean b API 我正在使用一个简单的服务器托管Socket 客户端可以连接并发送数据 除非客户端发送流结束 否则我不会关闭连接 客户端可以继续保持连接任意时间 数
  • 如何为EBS和RDS创建VPC?

    我制作了一个 Django 应用程序并将其部署在Elastic Beanstalk 我做了一个 Postgres DBRDS以及 我想将这两个添加到VPC 我创建了VPC使用专有网络向导 具有公共和私有子网的 VPC 顾名思义 它创建了1
  • 使用 Javascript 单击时显示 1 个 div 并隐藏所有其他 div

    我正在我的网站上设置一个 个人简介 部分 我有 3 张员工图片和 3 个 div 每个员工的个人简介如下 我想默认隐藏所有BIOS 然后仅显示与单击的图像关联的div 并隐藏所有其他div 目前看来它没有找到元素 因为我得到 未定义 这是到
  • XPath获取最大ID

    XML 来源
  • CSS 防止 div flex 拉伸子元素

    div 的时刻flexdisplay 属性会拉伸段落 我似乎遗漏了一些东西 但我认为放在 Flex div 上的任何属性都不会改变这一点 我怎样才能防止这种行为 没有 flex 属性 我得到图像右侧的结果 div display flex
  • String(contentsOf url:URL) 可能会抛出什么类型的异常?

    我正处于重构原型以使其更加灵活的阶段 这意味着我想添加错误处理 我的应用程序非常依赖 String contentsOf url 与处理文件的任何操作一样 它很容易出错 然而 相关 init 方法的签名只是这样写 init contents
  • 无法打开数据库/无法将(数据库)的区域设置更改为“en_US”

    我已阅读解决方案无法将数据库 data data my easymedi controller databases EasyMediInfo db 的区域设置更改为 en US 但这对我没有帮助 我仍然有同样的错误 这些是我的DBHelpe
  • Spark提交抛出错误java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp

    我编写了一个字数统计代码 但是当我尝试使用以下命令从 Windows 中的 CMD 运行它时 它会抛出异常 spark submit class com sample WordCount master local file E WordCo
  • 如何使用正则表达式验证多封电子邮件?

    在对 Stackoverflow 进行快速研究后 我无法找到使用正则表达式进行多电子邮件验证的任何解决方案 拆分 JS 函数不适用 但由于某种原因 应用程序后端等待一个电子邮件以 分隔的字符串 以下是要求 应使用以下规则验证电子邮件 A Z
  • 如何知道@RequestMapping的哪个参数被调用

    这是我的 RequestMapping注解 RequestMapping loginBadCredentials loginUserDisabled loginUserNumberExceeded public String errorLo
  • Outlet 无法连接到 CollectionView 单元格中的重复内容

    当我尝试连接已声明为的 UICollectionViewCell 中的 UILabel 时 property nonatomic weak IBOutlet UILabel Title 它表明 插座无法连接到重复内容 我做了一些搜索 发现我
  • 在 Python 中使用 WlanScan 强制 wifi 扫描

    我想知道如何执行WlanScanpython 中的函数用于启动无线网络扫描 我正在使用 python 模块win32wifi 它需要使用获得的句柄WlanOpenHandle和接口 GUIDpInterfaceGuid 我不知道如何获得这个
  • 如何将附加变量传递到下划线模板

    我有一个主干视图 它在下划线模板中呈现搜索结果 由于我想在结果中突出显示搜索词 因此我在模板中使用了以下打印方法 print someKey replace searchTerm b searchTerm b 它按预期工作 但我必须设置se
  • 如何在 SQL Server 2017 中对简单 Json 数组执行Where子句?

    假设我的数据库中有一个名为attributes以具有此值为例 pages Page1 我怎样才能做一个where子句 以便我可以过滤掉其中包含 Page1 的行 select JSON QUERY Attributes pages from
  • 第一次没有创建数据库

    如何使用EF6重新创建数据库 我已经尝试过以下两篇文章 但是 我不知道为什么它不起作用并出现相同的错误 如何在不使用更新数据库的情况下生成启用了迁移的 EF6 数据库 已为上下文启用迁移 但数据库不存在或不包含映射表 我已经在网络服务器上发
  • 使用 AR(1) 项进行 OLS 估计

    由于我无法解释的原因 因为我不能 不是因为我不想 我办公室使用的流程需要在 Eviews 上运行一些回归 Eviews 上使用的方程规范为 dependent variable c independent variable ar 1 此外
  • OpenCover MSBuild 集成 - 未生成结果

    让 OpenCover 在我的机器上工作后 下一步是让它与构建服务器一起工作 我一直在尝试将 OpenCover 与 Bamboo Build Server 上的 MSBuild 集成 我已按如下方式修改了 Build proj 以在构建解
  • Laravel 5 中的加密和解密

    我一直在寻找有关在 Laravel 中加密和解密值的想法 例如 VIN 号 员工 ID 卡号 社会保障号等 最近在 Laravel 网站上发现了这一点 https laravel com docs 5 6 加密 我的问题是 如何在刀片模板上
  • imshow() 将灰色图像显示为白色图像

    我计算了一个值在 0 到 255 之间的图像 当我使用 imageview 时 图像以灰度正确显示 但是当我想保存该图像或用 imshow 显示它时 我有一个白色图像 或者有时到处都有一些黑色像素 而使用 imageview 时 有人能帮我
  • YT 未定义 - 未捕获的 ReferenceError:[youtube api]

    删除了不需要的代码演示 嘿 我正在实现 Youtube Video Player Api 我在控制台中看到某种错误 视频如何完美播放 但我想知道为什么会出现错误 如果我将代码保留在骨架模式之外 就不会出现任何错误 有人可以解释一下吗 Tha