【发布时间】: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