如何修復”jQuery is Not Defined”錯誤

錯誤型別:
瀏覽器錯誤
錯誤名稱:
JQuery未定义
英文名稱:
jQuery is Not Defined
錯誤描述:
简单地说,这个错误试图告诉您站点上的某些东西(可能是插件)需要jQuery在您的站点上运行。出于某种原因,当浏览器尝试加载网站并调用特定jQuery时,它不可用。

如何修復"jQuery is Not Defined"錯誤

無論你對WordPress錯誤是否陌生,在你的網站上工作時遇到“jQuery is not defined”從來都不是一件有趣的事。這可能是一個令人震驚和困惑的資訊。幸運的是,這是使用jQuery的站點在某些時候可能遇到的標準錯誤。

也許您的站點已關閉,當您檢查瀏覽器控制檯是否有錯誤時,您會看到“jQuery is not defined”。查詢錯誤是第一步,做得很好!

下一步是解決它。因為這是一個更容易修復的JavaScript錯誤,所以不需要花費很長時間。

在這篇文章中,我們將帶您瞭解快速修復它所需的所有知識。這包括錯誤的含義,它可能首先發生的原因-所有防止將來發生此錯誤的關鍵資訊。最後,我們將引導您完成解決此問題的幾個步驟。

  1. 什麼是”jQuery is not defined”錯誤?
  2. 如何修復”jQuery is not defined”錯誤

什麼是”jQuery is not defined”錯誤?

瀏覽器中方便的控制檯日誌中,您可能會發現此錯誤。但這並不是令人難以置信的描述。“jQuery is not defined”實際上是什麼意思?

簡單地說,這個錯誤試圖告訴您站點上的某些東西(可能是外掛)需要jQuery在您的站點上執行。出於某種原因,當瀏覽器嘗試載入網站並呼叫特定jQuery時,它不可用。

此錯誤可能會導致網站對訪問者關閉。因為網際網路上大約78%的網站執行jQuery,這是一個常見的錯誤。

控制檯日誌中“jQuery is not defined" 錯誤

控制檯日誌中“jQuery is not defined” 錯誤

“jQuery is not defined”錯誤的潛在原因

這個錯誤可能會讓人大吃一驚。你的網站昨天執行得很好-發生了什麼事?這可能有點讓人頭痛。

可能發生了一些可能引發“jQuery未定義”錯誤的情況:

  1. WordPress站點上安裝的舊外掛與您最近安裝並啟用的外掛衝突。如果您最近安裝或啟用了新外掛,或者您站點上的某些外掛最近沒有更新,這可能是原因。
  2. 效能緩慢或較差的託管環境可能會增加呼叫jQuery時執行jQuery所需的時間。仔細檢查伺服器資源或錯誤日誌以確認這一點。
  3. 在jQuery完全載入之前,網站上的JavaScript正在執行。或者頁面載入時JavaScript檔案沒有正確載入。
  4. 用於提高站點效能的CDN無法訪問伺服器。如果您根本沒有使用CDN,那麼可以完全排除這種可能性。
  5. 您的jQuery版本中存在錯誤或輸入錯誤。也許有人最近編輯了一個核心檔案或外掛,這導致了衝突。

如何修復”jQuery is not defined”錯誤

在我們開始修復之前,請記住在編輯程式碼之前備份您的網站!即使是經驗最豐富的開發人員也會時不時地犯錯誤,手頭有備份可以防止您在故障排除時丟失任何重要的工作。

一旦你採取了這些必要的預防措施,是時候糾正這個錯誤了。

解決此錯誤需要熟悉新增、刪除和編輯程式碼。別擔心,您不需要從頭開始編寫任何程式碼。但如果您準備通過SFTP或託管環境訪問站點的程式碼,這將有所幫助。

它不適合通過WordPress儀表板程式碼編輯器編輯程式碼。如果你手頭還沒有一個好的文字編輯器,現在是時候安裝一個了。

這裡有幾個選項可以用來解決此錯誤,並將您的站點恢復給訪問者。

方法 1: 如果jquery正在載入,請使用網路選項卡進行除錯

檢視瀏覽器開發工具的“網路”選項卡,檢視是否正在載入jQuery。這為您提供了一個快速驗證的地方。

另一種選擇是檢視可能導致錯誤的多個外掛和主題。檢查站點的程式碼,確保包含jQuery。最好只載入一次。

如果未包含jQuery庫,請使用以下程式碼段將其新增到wp_enqueue_script()函式中:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wp_enqueue_script( 'tt-mobile-menu', get_template_directory_uri() .
'/js/mobile-menu.js', array('jQuery'), '1.0', true );
wp_enqueue_script( 'tt-mobile-menu', get_template_directory_uri() . '/js/mobile-menu.js', array('jQuery'), '1.0', true );
wp_enqueue_script( 'tt-mobile-menu', get_template_directory_uri() .
'/js/mobile-menu.js', array('jQuery'), '1.0', true );

通過轉到wp_includes資料夾找到此程式碼,然後開啟script-loader.php檔案。如果這不起作用,或者如果您發現jQuery庫實際上已經包含在內,請轉到以下方法。

程式碼段在script-loader.php檔案中的外觀

程式碼段在script-loader.php檔案中的外觀

方法 2: 確保jquery已載入

當包含但未載入jQuery時,您可能會遇到“jQuery is not defined error”。通過查詢指令碼源並將URL貼上到新瀏覽器或選項卡中,確保已載入該指令碼。

例如,如果<script src=設定為:

要查詢要測試的URL,應查詢的文字片段

要查詢要測試的URL,應查詢的文字片段

然後,複製並貼上http://code.jquery.com/jquery-1.11.2.min.js將部分插入新視窗或選項卡。如果jQuery檔案載入並向您顯示了全部內容,您可以將其從列表中勾選出來。

方法 3: 給CDN託管的jQuery做個Local Fallback

這是包含在JavaScript中的一個很好的選項,因為在本地主機上執行jQuery可以全面改善您的網站體驗。這將有助於避免任何其他CDN jQuery載入問題。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Fall back to a local copy of jQuery
window.jQuery || document.write(''))
// Fall back to a local copy of jQuery window.jQuery || document.write(''))
// Fall back to a local copy of jQuery
window.jQuery || document.write(''))

上述程式碼片段在程式碼編輯器中的外觀

上述程式碼片段在程式碼編輯器中的外觀

方法 4:在wp-config.php檔案中新增一個程式碼段

如果上述操作均無效,請開啟wp-config.php檔案並完整貼上到以下程式碼段中:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
define('CONCATENATE_SCRIPTS', false);
/** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); define('CONCATENATE_SCRIPTS', false);
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
define('CONCATENATE_SCRIPTS', false);

上述程式碼段在wp-config.php檔案中的外觀

上述程式碼段在wp-config.php檔案中的外觀

方法 5:手動插入jQuery庫

作為最後一種方法,您可以直接進入header.php檔案並新增jQuery庫。

以下是方法:

  1. 首先,轉到Google託管的庫並完整複製最新版本的jQuery庫。
  2. 開啟header.php檔案,該檔案位於themes資料夾中。
  3. 從第一步新增jQuery庫。確保它正好在頭標籤後面。
  4. 完成後儲存檔案。

上述程式碼段在wp-config.php檔案中的外觀

上述程式碼段在wp-config.php檔案中的外觀

小結

一般情況下,完成這些步驟後,您應該能夠解決“jQuery is not defined”錯誤並訪問您的站點。

由於此問題通常是由於瀏覽器無法連線jQuery庫造成的,因此可以嘗試的解決方案數量有限。大多數人通過以上任何一種選擇都能獲得成功。

如果由於某種原因上述步驟都無法解決錯誤,那麼最好聯絡您的伺服器託管公司以獲得支援。

評論留言