我已成功使用jPlayer一段时间了,根据他们的网站,出于安全考虑,我需要更新到2.5+版本。我已经完成了这个,虽然我可以让它工作我有一个问题,当我使用jquery没有冲突它将无法在FireFox 19/20上工作,但将在21+以上将无法在Opera上工作,但工作正常IE,Safari和Chrome。
这是播放器的链接;
如果我取出;
var jq=$.noConflict();
noConflict:"jq",
并将jq更改回$它工作正常,但当然如果我添加任何其他使用jquery的页面,他们冲突,一个将无法正常工作。
感谢所有帮助。
答案 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",