Google Chrome: Uncaught TypeError: Немагчыма прачытаць уласцівасць 'getCurrent' нявызначанага

Заўвага аўтара: Гэты артыкул захоўваецца толькі ў гістарычных і адукацыйных мэтах. Мараль гісторыі: калі вы атрымліваеце дзіўныя памылкі JavaScript у часопісе кансолі падчас працы над праектам, паспрабуйце спачатку адключыць усе пашырэнні Google Chrome і пераканацца, што памылкі больш не ўзнікаюць. Калі вы бачыце загадкавую памылку, якую вы не можаце выявіць на старонцы / праекце / cms / plugin / theme / app / what, гэта, хутчэй за ўсё, не выклікана!

Нядаўна я разгледзеў агульную памылку ў браўзэры Google Chrome: Google Chrome: растлумачаны адсутны файл jquery.qtip.min.map , і сёння я распавяду пра іншую памылку jQuery, выкліканую іншым папулярным пашырэннем SEO.

map   , і сёння я распавяду пра іншую памылку jQuery, выкліканую іншым папулярным пашырэннем SEO

Вялікі SEO лагатып

GOOGLE CHROME: Велічнае пашырэнне SEO пад аглядам

Majestic Extension для Google Chrome - гэта абавязковая надбудова для тых, хто нават аддалена сур'ёзна ставіцца да SEO-бізнэсу, аднак, як вэб-распрацоўшчык, вы можаце збянтэжыць некаторыя падазроныя памылкі JavaScript / jQuery у вашай каханай Dev Console:

Uncaught TypeError: Немагчыма прачытаць уласцівасць 'getCurrent' нявызначанага popup.js: 17

(ананімная функцыя)
jquery-1.8.2.js: 974
jQuery.Callbacks.fire jquery-1.8.2.js: 1082
jQuery.Callbacks.self.fire Withjquery-1.8.2.js: 406
jQuery.extend.ready

Спачатку вы можаце паспрабаваць адладзіць прыкладанне або сцэнар, які вы распрацоўваеце, але, спадзяюся, дастаткова хутка, каб выявіць, што гэта выклікана памылкай у файле бібліятэкі popup.js jQuery, які выкарыстоўваецца Majestic SEO Extension. Гэта дазваляе функцыі ўсплывальнага акна і аўтаматычнага пошуку дадзеных, які праглядаецца зараз. Калі вы адключыце убудова на імгненне, паведамленне пра памылку знікне, што відавочна сведчыць пра яго сапраўдную прычыну.

TypeError у Google Chrome не ўдалося прачытаць уласцівасць 'getCurrent' нявызначанага (націсніце, каб павялічыць)

РАШЭННЕ Выпраўленне

Рашэнне гэтага пытання не так проста, як гэта было ў папярэднім выпадку, аднак мы, па меншай меры, вызначылі крыніцу праблемы. Праблемны файл popup.js падпісаны аўтарскім правам (c) 2012 Аўтары Хрома , якія адказваюць за асноўную частку бібліятэкі, аднак яна яшчэ больш зменіцца каманда Majestic SEO.

Да таго часу, пакуль плягін не атрымае належнага абнаўлення, які вырашыць праблему, вы можаце абыйсці яго, часова адключыўшы убудова падчас працы над важнымі праектамі.

Яшчэ адна, менш раздражняльная праблема - захаваць уключаны праблемны убудова, але схаваць гэтую памылку ад будучых апавяшчэнняў непасрэдна ў кансолі распрацоўкі:

Яшчэ адна, менш раздражняльная праблема - захаваць уключаны праблемны убудова, але схаваць гэтую памылку ад будучых апавяшчэнняў непасрэдна ў кансолі распрацоўкі:

Выпраўленне рашэння TypeError у Google Chrome Uncaught (націсніце, каб павялічыць)

Гэта дазволіць прадухіліць справаздачу аб будучых памылках з popup.js менш навязліва: вы ўбачыце актыўны апавяшчэнне фільтра ў светла-шэры колеры.

Прадстаўленае рашэнне можа быць выдатна падыходзіць, пакуль вы не вырашыце выкарыстоўваць гэтую бібліятэку ў вашым уласным праекце, а пазней неабходна адладзіць яго ў любы момант. Тады вам трэба будзе націснуць на паведамленне пра фільтр, каб выдаліць яго.