2014-01-05 74 views
0

我一直在使用jPlayer一段時間,並根據他們的網站,我需要更新到版本2.5+出於安全原因。我已經做到了這一點,雖然我可以得到它的工作,但我有一個問題,當我使用jQuery不衝突時,它不會在FireFox 19/20上工作,但會在21+上,並且不會在Opera上工作,但可以正常工作IE,Safari和Chrome。jPlayer無法正常工作

這裏是玩家的鏈接;

http://www.roadtotheweb.com

如果我取出;

var jq=$.noConflict(); 

noConflict:"jq", 

,改變JQ回$它工作正常,但後來當然如果我添加其他任何東西,用了jQuery的網頁,他們的衝突和一個將無法正常工作。

所有幫助表示讚賞。

回答

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",