jPlayer抱怨有效的swfPath

时间:2013-11-29 23:40:37

标签: javascript jquery flash jplayer

发布结束时的重大更新

我正在使用以下代码初始化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播放器中收到以下错误:

error message

如果我打开mysite.com/js/jQuery.jPlayer.2.4.0,SWF加载时没有问题。我试过让页面坐一会儿,看看是否有帮助。它没有。

每个建议尝试使用工作网址,但现在列出完整路径时出现相同的错误。加载swf后从浏览器中获取的路径,因此绝对正确。我在这里粘贴了代码,但是反对包含URL的帖子的主体......这是新的错误消息。

new error

另一个更新:尝试直接链接到jPlayer托管的SWF副本,每个Josh D建议如下。同样的错误。从2.4.0升级到2.5.0。同样的错误。

enter image description here

如何让后备工作?

重大更新12/12/2013

我在此处设置了该网站的沙箱副本:http://www.itsneworleans.dreamhosters.com/shows/happy-hour点击收听以查看错误消息。

我已经取消了HTML5解决方案,只使用了Flash。这允许任何浏览器触发错误。

在解除错误后,Chrome调试器会报告swf的200状态,因此这不是404 swf问题。任何人都有这个错误的想法吗?

以下错误被驳回后。

200 Status

Chrome错误消息

chrome error

5 个答案:

答案 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)

如果直接进入浏览器中的路径,但它在脚本内部无效。它可能是:

  1. MIME类型 - 检查.swf是否作为application/x-shockwave-flash
  2. 提供
  3. 同源(跨域)策略安全性,是.swf文件和位于同一域中并在相同协议(HTTP和HTTPS)下提供服务的执行JS文件。
  4. 如果您愿意发布演示链接,我们应该可以调试它。

答案 4 :(得分:-1)

只需编写“../js/jQuery.jPlayer.2.4.0”而不是它,它将为您提供适当的解决方案。 我在JWPlayer中面临同样的问题,它的工作原理如下。