我使用Bootstrap 3,因为我需要jQuery 1.9.1。
对于所有的ajax调用和jQuery选择器都是在最新版本的jQuery上设置的。
但另一方面,我使用的广告需要较旧版本的jQuery,如1.2和Bootstrap不支持它。
我的功能适用于所有新的jQuery并播放歌曲并更新一些div和属性。在同一个函数中,我必须调用支持旧版jQuery的添加代码。
但是冲突即将到来,如果我使用更新的版本所有Bootstrap和ajax工作正常,但ADD不起作用,如果我使用旧版本ADD工作正常,其他一切都没有。
显示以下代码。如果有人能帮助我,我需要一个解决方案或修复方案。
function loadVideo(ID,myFile, title, image, views, fav, buyurl) {
//THIS IS MY ADD FUNCTION
requestAdHandler();
//ALL OTHER CODE
setTimeout(function(){mediaElement.play();}, 9000);
$(".player-container").css("display", "block");
$("#myElement").css("display", "block");
jwplayer("myElement").setup({
file: myFile,
width: '100%',
height: 30,
skin: {
name: "mySkin",
active: "#4FBFFB",
inactive: "#ccc",
background: "black"
}
});
$('.song-title').html(title);
$('#player-img').attr('src','/audio/images/'+image);
$('#player-views').html(views);
$('#player-fav').html(fav);
$('#player-buy').attr('href', buyurl);
$('#player-twitter').attr('href', 'http://twitter.com/home?status='+title+'+http://pavementchasers.com/songs/'+ID);
$('#player-facebook').attr('href', 'http://www.facebook.com/share.php?u=http://pavementchasers.com/songs/'+ID+'&title='+title);
jwplayer().load([{
file: myFile
}]);
jwplayer().play();
//AJAX View Update
$.ajax({
method: 'POST', // Type of response and matches what we said in the route
url: '/viewupdate/'+ID, // This is the url we gave in the route
data: {'id' : ID, '_token': '{{ csrf_token() }}'}, // a JSON object to send back
success: function(response){ // What to do if we succeed
console.log(response.views);
$('#view-'+ID).html(response.views);
},
error: function(jqXHR, textStatus, errorThrown) { // What to do if we fail
console.log(JSON.stringify(jqXHR));
console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
}
});
};
</script>
答案 0 :(得分:1)
您是否尝试过使用较新的版本?旧版本的大部分功能都包含在较新版本中。
或者,您可以使用jQuery no conflict方法将您的某个版本上的jQuery命名空间映射到不同的命名空间。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.noConflict demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="log">
<h3>Before $.noConflict(true)</h3>
</div>
<script src="https://code.jquery.com/jquery-1.6.2.js"></script>
<script>
var $log = $( "#log" );
$log.append( "2nd loaded jQuery version ($): " + $.fn.jquery + "<br>" );
// Restore globally scoped jQuery variables to the first version loaded
// (the newer version)
jq162 = jQuery.noConflict( true );
$log.append( "<h3>After $.noConflict(true)</h3>" );
$log.append( "1st loaded jQuery version ($): " + $.fn.jquery + "<br>" );
$log.append( "2nd loaded jQuery version (jq162): " + jq162.fn.jquery + "<br>" );
</script>
</body>
</html>