jPlayer无法正常运行

时间:2014-01-05 15:12:07

标签: jquery jplayer

我已成功使用jPlayer一段时间了,根据他们的网站,出于安全考虑,我需要更新到2.5+版本。我已经完成了这个,虽然我可以让它工作我有一个问题,当我使用jquery没有冲突它将无法在FireFox 19/20上工作,但将在21+以上将无法在Opera上工作,但工作正常IE,Safari和Chrome。

这是播放器的链接;

http://www.roadtotheweb.com

如果我取出;

var jq=$.noConflict();

noConflict:"jq",

并将jq更改回$它工作正常,但当然如果我添加任何其他使用jquery的页面,他们冲突,一个将无法正常工作。

感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

我相信我已经解决了这个问题,显然在jPLayer 2.5+中你需要在名为noConflict的名称中包含.jQuery。所以喜欢这个

var jq = {jQuery: jQuery.noConflict(true)}
jq.jQuery(document).ready(function(){
new jPlayerPlaylist({
        jPlayer: "#jquery_jplayer_1",
        cssSelectorAncestor: "#jp_container_1"
    }, [
        {
            title:"Track 1",
            mp3:"track1.mp3"
        },
        {
            title:"Track 2",
            mp3:"track2.mp3"
        },
        {
            title:"Track 3",
            mp3:"track3.mp3"
        },
        {
            title:"Track 4",
            mp3:"track4.mp3"
        },
    ], {
        noConflict:"jq.jQuery",
        swfPath: "",
        supplied: "mp3",
        wmode: "window"
    });
});

所以

var jq=$.noConflict();

变为

var jq = {jQuery: jQuery.noConflict(true)}

jq(document).ready(function(){

变为

jq.jQuery(document).ready(function(){

最后

noConflict:"jq",

变为

noConflict:"jq.jQuery",