2014-01-05 4 views
0

Я использовал jPlayer в течение некоторого времени, и, согласно их сайту, мне необходимо было обновить версию 2.5+ по соображениям безопасности. Я сделал это, и хотя я могу заставить его работать, у меня есть одна проблема, когда я использую jquery no conflict, он не будет работать в FireFox 19/20, но будет работать 21+ и не будет работать в Opera, но отлично работает IE, Safari и Chrome.jPlayer неправильно работает с

Вот ссылка на плеер;

http://www.roadtotheweb.com

Если я вывезти;

var jq=$.noConflict(); 

noConflict:"jq", 

и изменить JQ обратно $ это работает отлично, но тогда, конечно, если я что-нибудь добавить, что использует JQuery на странице они конфликтуют и не будет работать.

Вся помощь приветствуется.

ответ

0

Я считаю, что я решил это, очевидно, в jPLayer 2.5+ вам нужно включить .jQuery в имя, заданное как noConflict. Так как это

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", 
Смежные вопросы