2011-09-08 84 views
83

我試圖檢查我的Jquery庫是否加載到我的HTML頁面上。我正在檢查它是否有效,但有些不對。以下是我有:檢查是否使用Javascript加載jquery

<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

+3

'alert(window。$?1:0)' – Thielicious

回答

165

東西是不正確

那麼,你是使用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

+0

@ gilly3:是的,討厭的範圍界定問題。固定。 – BoltClock

+0

我在與html文件相同的目錄中有jquery-1.6.3.min.js文件。不知道爲什麼不加載。 – SoftwareSavant

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

只是一個小的修改,可能真正解決這個問題:

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

代替$(document).Ready(function()使用window.onload = function()

16

this鏈接:

if (typeof jQuery == 'undefined') { 

    // jQuery IS NOT loaded, do stuff here. 

} 


有幾個在鏈接的評論,以及像,

if (typeof jQuery == 'function') 
//or 
if (typeof $== 'function') 



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


希望這涵蓋了所有好方法來完成這件事!

+2

當投訴的原因被提及時,下調投票答案更有幫助 –

+0

雖然我沒有找到有用的答案,但我投下了意外的投票,真的很抱歉,沒有辦法改變它現在,我會通讀你的其他答案,並投票其中之一,以彌補 –

+0

@NicolaiKant我沒有意識到這是一件事 – Erutan409

-1

一個快速的方法是在開發人員控制檯中運行jQuery命令。在任何瀏覽器中點擊F12並嘗試訪問任何元素。

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

enter image description here

-1

您可以只需鍵入控制檯 window.jQuery。如果它返回一個函數(e,n)...然後確認jquery已經加載並且工作成功。