JWPlayer - undefined不是一个函数

时间:2014-07-11 05:12:44

标签: javascript jwplayer

我想知道是否有人可以帮助我。

我尝试使用jwplayer加载视频,但收到错误。

这是我正在使用的代码。

        <script type="text/javascript">
            jwplayer("legacyPlayer").setup({
                width:370,
                height:240,
                file: "https://s3.amazonaws.com/legacy/videoname.mp4",
            });
        </script>

        <div id="legacyPlayer" align="center"></div>

我的控制台显示的错误如下:

Uncaught TypeError: undefined is not a function 

非常感谢任何帮助实现这项工作。

干杯,

2 个答案:

答案 0 :(得分:9)

您应该在HTML标记之后放置脚本块,如下所示:

<div id="legacyPlayer" align="center"></div>
<script type="text/javascript">
    jwplayer("legacyPlayer").setup({
        width:370,
        height:240,
        file: "https://s3.amazonaws.com/legacy/videoname.mp4",
    });
</script>

当浏览器文档解析器遇到脚本标记时,它将停止解析页面上的其他html内容,直到下载并执行脚本为止。这意味着&#34; legacyPlayer&#34;当您尝试在脚本块中操作它时不存在。这是&#34; undefined的根本原因不是函数&#34;错误(jwplayer选择器无法找到ID为:legacyPlayer的DOM)。

答案 1 :(得分:1)

确保您的div id =&#34; 容器&#34;等于jwplayer(&#39; 容器&#39;)名称

<div id="container">Loading the player...</div>

    <script type="text/javascript">

        var playerInstance = jwplayer('container');
        playerInstance.setup({
            file: "//content.jwplatform.com/videos/3XnJSIm4-640.mp4",
            image: "//content.jwplatform.com/thumbs/3XnJSIm4-640.jpg",
            width: 640,
            height: 270,
            logo: {
                file: "//content.jwplatform.com/watermarks/gdz4zR4a.png",
                link: "//www.blender.org/foundation/"
            },
            abouttext: 'Video Available at Blender.org',
            aboutlink: 'http://www.blender.org'
        });
    </script>

</div>