javascript - jPlayer 和 IE10 - SCRIPT438 : Object doesn't support property or method 'jPlayer'

标签 javascript jquery internet-explorer internet-explorer-10 jplayer

我以非常简单的设置使用 jPlayer,但我无法让它以稳定的方式工作,这很令人困惑,因为我实际上只使用 jPlayer 的基本部分。基本上,它仅由播放和暂停按钮组成。不过,我每个站点有六名玩家。对于许多浏览器来说,在大多数情况下这似乎都是有效的。没有哪个浏览器能够 100% 稳定地运行代码。不过,我主要在使用 IE10 时遇到问题,而这是我真正需要它来工作的地方。

在大约 60% 的情况下,我会收到包含此代码的错误消息。

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="http://www.unipark.de/uc/musikmaerkte/images/jquery.jplayer.min.js"></script>
<script type="text/javascript">
    $(function() {
        $("#jquery_jplayer_1").jPlayer({
            ready: function() {$(this).jPlayer("setMedia", {mp3: "[media here]", oga: "[media here]", m4a: "[media here]"});},
            play: function() {$(this).jPlayer("pauseOthers");},
            ended: function() {$(this).jPlayer("play");},
            swfPath: "[swfPath]",
            wmode:  "window",
            supplied: "mp3, ogg, m4a"
        }); 
        $("#jquery_jplayer_2").jPlayer({
            ready: function() {$(this).jPlayer("setMedia", {mp3: "[media here]", oga: "[media here]", m4a: "[media here]"});},
            play: function() {$(this).jPlayer("pauseOthers");},
            ended: function() {$(this).jPlayer("play");},
        swfPath: "[swfPath]",
        wmode: "window",
            supplied: "mp3, ogg, m4a",
            cssSelectorAncestor: "#jp_container_2"
        }); 

与第二个玩家相同的代码可用于另外 4 个玩家。 (我必须删除媒体链接和 swfPath,因为 stackoverflow 不允许我这样做。不过我 100% 确定它们正在工作。)

控制台 (F12) 中显示错误消息

SCRIPT438: Object doesn't support property or method 'jPlayer'

and 指的是上面代码摘录的第 6 行和第 14 行(对于每个玩家,因此总共 6 次)。

每当发生错误时,我随后都无法使用播放器,并且单击播放按钮不会改变任何内容。当错误没有出现时(约 40% 的情况),一切似乎都工作正常。令我困惑的是,它的行为方式不是可计算的,而且它何时工作、何时不工作似乎完全是任意的。

对于每个播放器,HTML 部分分别如下所示:

<div id="jquery_jplayer_6" class="jp-jplayer"></div>
    <div id="jp_container_6" class="jp-audio">
        <div class="jp-type-single">
            <div class="jp-gui jp-interface">
                <div class="jp-controls">
                    <a href="javascript:;" class="jp-play" tabindex="1"><img src="images/play.png" /></a>
                    <a href="javascript:;" class="jp-pause" tabindex="1"><img src="images/pause.png" /></a>
                </div>
            </div>
            <div class="jp-no-solution">
                <span>NoFlash</span>
            </div>
        </div>
    </div>                          
</div>

我们花了很多时间来测试它,虽然我几乎可以肯定,HTML 部分本身就很好,我也很高兴对此部分的任何评论!

我已经尝试过让它以稳定的方式工作:

  • $(document).ready(function() {...} 而不是 $(function() {...}
  • 确保引用的文件和文件夹有效。
  • 我尝试通过在构造函数中使用解决方案:“flash,html”来使用 Flash 回退。但没有改变任何东西。
  • 我阅读了很多有关 jPlayer 兼容性问题或特定错误 SCRIPT438 的其他帖子,但似乎没有一个帖子包含针对此情况的任何解决方案。

有什么提示、想法、解决方案吗?每一个想法都受到欢迎。干杯!

最佳答案

我想您现在已经解决了这个问题,但是当 jplayer JavaScript 文件没有被正确引用时,我收到了同样的问题。也许下载脚本文件并使用相对 src 路径引用它们可能会有所帮助。

关于javascript - jPlayer 和 IE10 - SCRIPT438 : Object doesn't support property or method 'jPlayer' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20314971/

相关文章:

javascript - HighCharts (HighMaps) - 调整大小的函数

html - 输入类型 ="image"未在 IE 中加载

c# - 在 C# 中 Hook IE 事件

jquery - IE 的动态宽度解决方法

javascript - 从 JS 对象数组中删除元素

javascript - 仅当在 Angular 中找到匹配项时才显示搜索结果(Ng-Repeat)

javascript - Fabric js - 在 Canvas 悬停时自由绘图,而不是单击/按下鼠标

javascript - 如何在提交首字母时让一个输入字段替换另一个输入字段?

jquery - 每次 WooCommerce 更改地址时发送电子邮件

jquery - 使用jquery选择特定元素