我正在開發一個新網站,並決定首次使用Modernizr。我相當確定它是如何工作的一般要點,但我在尋找關於加載jQuery並運行jQuery代碼的最佳實踐的一些建議。jQuery通過Modernizr加載後運行自定義代碼
我現在有一個被加載作爲最後一個項目我的網頁在以下方面:
Modernizr.load([
{
load: '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',
complete: function(){
if(!window.jQuery){
Modernizr.load('/scripts/jquery-1.11.1.min.js');
}
}
},
{
load: '//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js',
complete: function() {
if ((typeof $().emulateTransitionEnd == 'function') == false) {
Modernizr.load('/scripts/bootstrap.min.js');
}
}
}
]);
這種嘗試從CDN檢索jQuery的,如果它不能這樣做,加載本地版本。然後它重複我的網站上我的引導組件所需的Javascript過程。
我的問題是,我當時有一些jQuery代碼直接跟隨這名:
$(document).ready(function() {
$('.wishlist-toggle').click(function() {
var nodeId = $(this).data("node");
var id = $(this).data("id");
var type = $(this).data("type");
var addTo = $(this).data("add");
var list = $(this).data("list");
var removeFrom = $(this).data("remove");
var storedCookie = getCookie("wishlist");
var jsonString = null;
var found = false;
...
出於某種原因,儘管整個jQuery的裝載聲明我在我的控制檯得到一個錯誤指定$是後被未定義。這通常表明,在調用自定義腳本的時候,jQuery不會被加載。
我的問題是,這通常會怎麼做,以及在這種情況下什麼被認爲是最好的做法,以確保在嘗試運行自定義代碼之前真正加載jQuery。
任何幫助,提示或指針將不勝感激。
嘗試'的console.log(Modernizr.hasOwnProperty( 「負載」))'。請參閱https://github.com/SlexAxton/yepnope.js#deprecation-notice _「由於這些原因,我們也不會在Modernizr的Modernizr.load下一個版本中包含yepnope。」_ – guest271314 2014-09-30 17:23:52