【问题标题】:jPlayer and IE10 - SCRIPT438: Object doesn't support property or method 'jPlayer'jPlayer 和 IE10 - SCRIPT438:对象不支持属性或方法“jPlayer”
【发布时间】:2013-12-01 17:23:06
【问题描述】:

我在一个非常简单的设置中使用 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'

并引用上面代码摘录的第 6 行和第 14 行(对于每个 Player,总共 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 部分还是不错的,我也很高兴这部分有任何 cmets!

我已经尝试了一些方法来让它以稳定的方式工作:

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

有任何提示、想法、解决方案吗?欢迎每一个想法。干杯!

【问题讨论】:

  • 原始源代码在这里:unipark.de/uc/testprojekt123 它是嵌入在线调查工具中的,所以整个代码看起来很乱。但是当涉及到 jPlayer 时,代码应该看起来不错!
  • 请编辑您的帖子,而不是给自己写评论(!)。自言自语的人很奇怪:-)(毕竟这是你自己的问题)
  • 我无法重现您在 IE 中遇到的问题。您收到的消息表明 jPlayer 在您调用它时尚未加载。请制定一个重现问题的基本案例。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2019-02-09
    相关资源
    最近更新 更多