发布结束时的重大更新
我正在使用以下代码初始化jPlayer。它在所有现代浏览器和移动设备上都运行良好。
$("#jquery_jplayer_1").jPlayer({
supplied: "mp3",
swfPath: "/js/jQuery.jPlayer.2.4.0",
solution: "html,flash",
errorAlerts: true,
ended: function () {
console.log('ended event fired');
$.getScript('/js/random_show.js.php');
}
});
然而,在IE 8和IE 7中进行测试时,我从后备SWF播放器中收到以下错误:
如果我打开mysite.com/js/jQuery.jPlayer.2.4.0,SWF加载时没有问题。我试过让页面坐一会儿,看看是否有帮助。它没有。
每个建议尝试使用工作网址,但现在列出完整路径时出现相同的错误。加载swf后从浏览器中获取的路径,因此绝对正确。我在这里粘贴了代码,但是反对包含URL的帖子的主体......这是新的错误消息。
另一个更新:尝试直接链接到jPlayer托管的SWF副本,每个Josh D建议如下。同样的错误。从2.4.0升级到2.5.0。同样的错误。
如何让后备工作?
重大更新12/12/2013
我在此处设置了该网站的沙箱副本:http://www.itsneworleans.dreamhosters.com/shows/happy-hour点击收听以查看错误消息。
我已经取消了HTML5解决方案,只使用了Flash。这允许任何浏览器触发错误。
在解除错误后,Chrome调试器会报告swf的200状态,因此这不是404 swf问题。任何人都有这个错误的想法吗?
以下错误被驳回后。
Chrome错误消息
答案 0 :(得分:2)
我在初始化时添加了一个带控制台输出的jPlayer.ready()函数。我发现它只有在播放器已经可见时才被触发,并且没有关于未找到Flash解决方案的抱怨。
根据该结果进行了一些搜索后,我找到了this post:
“检查你的风格。如果你的#jquery_jplayer_1或其父母有 display = none,ready事件永远不会在诸如opera或者的浏览器中触发 Firefox浏览器。我的意思是不能隐藏flash对象。“
发生的事情是jPlayer的Flash解决方案无法加载,因为我的播放器显示设置为无。
所以现在我通过负边距顶部筛选了球员,而不是动画高度我动画margin-top。现在一切正常。
答案 1 :(得分:0)
提供您的swf文件夹的绝对路径,例如www.mysite.com/js/jQuery.jPlayer.2.4.0
。
这将帮助您测试您提供的swfPath是否错误或其他。
答案 2 :(得分:0)
您是否尝试过使用swfPath:“http://jplayer.org/2.5.0/js/”而不是?
答案 3 :(得分:0)
如果直接进入浏览器中的路径,但它在脚本内部无效。它可能是:
application/x-shockwave-flash
如果您愿意发布演示链接,我们应该可以调试它。
答案 4 :(得分:-1)
只需编写“../js/jQuery.jPlayer.2.4.0”而不是它,它将为您提供适当的解决方案。 我在JWPlayer中面临同样的问题,它的工作原理如下。