Làm cách nào để kiểm tra phiên bản jQuery nào được tải trên máy khách? Máy khách có thể đã tải jQuery nhưng tôi không biết cách kiểm tra nó. Nếu họ đã tải, làm cách nào để kiểm tra phiên bản và tiền tố, chẳng hạn như:
$('.class')
JQuery('.class')
Làm cách nào để kiểm tra phiên bản jQuery nào được tải trên máy khách? Máy khách có thể đã tải jQuery nhưng tôi không biết cách kiểm tra nó. Nếu họ đã tải, làm cách nào để kiểm tra phiên bản và tiền tố, chẳng hạn như:
$('.class')
JQuery('.class')
Câu trả lời:
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
jQuery.fn.jquery
và jQuery().jquery
(tốc ký $.fn.jquery
$().jquery
:). Tôi đã viết về nó một cách chi tiết với các liên kết đến mã nguồn jquery nếu bạn muốn tìm hiểu sâu hơn.
if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
!==
Bạn chỉ có thể kiểm tra nếu jQuery
đối tượng tồn tại:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery
có số phiên bản.
Đối với tiền tố, jQuery
nên luôn luôn làm việc. Nếu bạn muốn sử dụng, $
bạn có thể bọc mã của mình vào một hàm và truyền jQuery
cho nó dưới dạng tham số:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )
if( jQuery )
sẽ ném một ngoại lệ nếu jQuery
không được biết và nó sẽ không làm việc.
try {...}catch(e){...}
?
jQuery().jquery
. Nó tạo ra một đối tượng jQuery không có gì. (sao chép bình luận từ một câu trả lời khác)
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Nếu bạn lấy lại số phiên bản - thường là một chuỗi - thì jQuery đã được tải và đó là phiên bản bạn đang làm việc. Nếu không được tải thì bạn nên quay lại
undefined
hoặc thậm chí có thể xảy ra lỗi.
Câu hỏi khá cũ và tôi đã thấy một vài người đã đề cập đến câu trả lời của tôi trong các bình luận. Tuy nhiên, tôi thấy rằng đôi khi những câu trả lời tuyệt vời còn lại khi bình luận có thể không được chú ý; đặc biệt là khi có rất nhiều bình luận cho một câu trả lời, bạn có thể thấy mình đang đào bới hàng đống trong số họ đang tìm kiếm một viên đá quý. Hy vọng điều này sẽ giúp ai đó!
Chỉ vì phương pháp này chưa được đề cập cho đến nay - hãy mở giao diện điều khiển và gõ:
$ === jQuery
Như @Juhana đã đề cập ở trên $().jquery
sẽ trả về số phiên bản.
($ === jQuery)?$().jquery:'no jquery';
Tôi đã thấy đây là cách ngắn nhất và đơn giản nhất để kiểm tra xem jQuery đã được tải chưa:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
Phương pháp này được sử dụng bởi http://html5boilerplate.com và những người khác.
Sở thích của tôi là:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Kết quả:
Đã tải jQuery 1.8.0
Bạn thực sự nên gói cái này trong một khối thử / bắt cho IE:
// Ensure jquery is loaded -- syntaxed for IE compatibility
try
{
var jqueryIsLoaded=jQuery;
jQueryIsLoaded=true;
}
catch(err)
{
var jQueryIsLoaded=false;
}
if(jQueryIsLoaded)
{
$(function(){
/** site level jquery code here **/
});
}
else
{
// Jquery not loaded
}
typeof jQuery != 'undefined'
? Điều này đúng với mọi IE hay chỉ những cái cũ hơn?
Trong một dòng và mức tối thiểu của tổ hợp phím (rất tiếc!):
alert($().jquery);
Chuyển đến bảng điều khiển Tool> của nhà phát triển và viết một trong các lệnh sau
jQuery.fn.jquery
console.log(jQuery().jquery);
Theo Template monster trên blog , đánh máy, những bên dưới kịch bản sẽ cung cấp cho bạn phiên bản của jquery trong các trang web bạn đang đi qua bây giờ.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$
.
$
? Nó không phải là duy nhất cho jQuery.