Javascript를 사용하여 jquery 가로 드되었는지 확인


176

내 Jquery 라이브러리가 HTML 페이지에로드되어 있는지 확인하려고합니다. 작동하는지 확인하고 있지만 뭔가 잘못되었습니다. 여기 내가 가진 것입니다 :

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="/query-1.6.3.min.js"></script>
        <script type="text/javascript">
          $(document).ready(function(){
             if (jQuery) {  
               // jQuery is loaded  
               alert("Yeah!");
             } else {
               // jQuery is not loaded
               alert("Doesn't Work");
             }
          });
        </script>

3
"$ (document) .Ready"에 대문자 R을 사용하지 마십시오
Serigan

7
alert(window.$?1:0)
Thielicious

왜 여전히 오래된 xhtml 표준을 사용하고 있습니까? 단지 사용하는 <!doctype html>대신
루크 긱

$(document)ready 함수가 전혀 실행되지 않으면 jquery가로드됩니다. 따라서 단순히 $(document).ready(function(){ alert("Ready!"); }); Granted 를 수행 할 수 있습니다. jquery가 실행되지 않으면 경고가 표시되지 않습니다. 그러나 jquery 라이브러리를 올바르게 참조했는지 확인 해야하는 경우 충분합니다.
ToolmakerSteve

답변:


338

뭔가 옳지 않다

글쎄, jQuery를 사용하여 jQuery가 있는지 확인합니다. jQuery 가로 드 $()되지 않으면 다른 라이브러리를 사용하지 않고 해당 라이브러리가 동일한 $()구문 을 공유하지 않는 한 전혀 실행되지 않고 콜백이 실행되지 않습니다 .

제거하십시오 $(document).ready()( window.onload대신 비슷한 것을 사용 하십시오 ).

window.onload = function() {
    if (window.jQuery) {  
        // jQuery is loaded  
        alert("Yeah!");
    } else {
        // jQuery is not loaded
        alert("Doesn't Work");
    }
}

1
jQuery정의되지 않은 경우 여전히 오류가 발생 합니다. 확인이 필요합니다 window.jQuery.
gilly3

@ gilly3 : 예, 성가신 범위 문제입니다. 결정된.
BoltClock

html 파일과 동일한 디렉토리에 jquery-1.6.3.min.js 파일이 있습니다. 왜로드되지 않는지 잘 모르겠습니다.
SoftwareSavant

3
@DmainEvent : 둘 다 루트 디렉토리에 있습니까? 당신 src은 선두를 가지고 있습니다. /그것은 그것이 루트를보고 있음을 의미합니다.
BoltClock

사실은 아니야 그것을 바꾸고 기회를 주겠습니다.
SoftwareSavant

46

링크 :

if (typeof jQuery == 'undefined') {
    // jQuery IS NOT loaded, do stuff here.
}


링크에 대한 의견에는 몇 가지가 더 있습니다.

if (typeof jQuery == 'function') {...}

//or

if (typeof $== 'function') {...}

// or

if (jQuery) {
    alert("jquery is loaded");
} else {
    alert("Not loaded");
}


이것이이 일을 끝내는 가장 좋은 방법을 다루기를 바랍니다.


2
@JakeN 일정 시간이 지난 후 게시물을 편집하지 않으면 다운 보트를 취소 할 수 없습니다. 이 게시물에는 한 가지 문제가 있습니다 : if (jQuery) {jQuery 가로 드되지 않으면 엄격한 모드에서 오류가 발생하므로 마지막 코드 스 니펫은 잘못된 제안입니다.
JLRishe

21
if ('undefined' == typeof window.jQuery) {
    // jQuery not present
} else {
    // jQuery present
}

15

웹 페이지를 검사 할 때 콘솔 탭에서이를 빠르게 수행 할 수 있습니다.

예 :

$ === jQuery

반환되면 true로드되었음을 의미합니다.


jQuery Uncaught ReferenceError: jQuery is not defined
가로

10

실제로 문제를 해결할 수있는 간단한 수정 사항 :

window.onload = function() {
   if (window.jQuery) {  
       // jQuery is loaded  
       alert("Yeah!");
   } else {
    location.reload();
   }
}

대신에 $(document).Ready(function()사용 window.onload = function().


1

jQuery비동기식으로로드하는 경우 정의 될 때까지 기다렸다가 매번 확인합니다.

(function() {
    var a = setInterval( function() {
        if ( typeof window.jQuery === 'undefined' ) {
            return;
        }
        clearInterval( a );

        console.log( 'jQuery is loaded' ); // call your function with jQuery instead of this
    }, 500 );
})();

이 방법은 모든 변수에 사용할 수 있으며 표시되기를 기다리고 있습니다.


-2

window.jQueryConsole에 입력하면 됩니다. 함수 (e, n) ...을 반환하면 jquery 가로 드되고 성공적으로 작동하는 것입니다.


-4

빠른 방법은 개발자 콘솔에서 jQuery 명령을 실행하는 것입니다. 모든 브라우저에서 F12를 누르고 요소 중 하나에 액세스하십시오.

 $("#sideTab2").css("background-color", "yellow");

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.