Google Chrome: Uncaught TypeError: Неможливо прочитати властивість "getCurrent" невизначеною
ПРИМІТКА АВТОРА: Ця стаття зберігається лише для історичних та освітніх цілей. Мораль історії полягає в тому, що якщо ви отримуєте дивні помилки JavaScript у журналі консолі під час роботи над проектом, спробуйте спочатку вимкнути всі розширення Google Chrome і переконайтеся, що помилки більше не відбуваються. Коли ви бачите загадку помилку, яку ви не можете визначити на вашій сторінці / проекті / cms / plugin / theme / app / any, вона, швидше за все, не викликана нею!
Нещодавно я ознайомився із загальною помилкою в браузері Google Chrome: Google Chrome: пояснюється відсутній файл jquery.qtip.min.map , а сьогодні я розгляну іншу помилку jQuery, створену іншим популярним SEO розширенням.
Величний SEO логотип
GOOGLE CHROME: MAJESTIC SEO ПІДВИЩЕННЯ ПІДСУМКИ
Majestic Extension для Google Chrome дійсно є обов'язковим доповненням для всіх, хто навіть серйозно ставиться до SEO бізнесу, однак, як веб-розробник ви можете виявитися здивованими деякими підозрілими помилками javascript / jQuery у вашій улюбленій консолі dev:
Uncaught TypeError: Неможливо прочитати властивість 'getCurrent' для undefined 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. Вона дозволяє функціональність спливаючого вікна та автоматичний пошук даних на поточному веб-сайті. Якщо ви відключите плагін на мить, повідомлення про помилку буде зникло, що чітко показує, що це справжня причина.
Google Chrome Uncaught TypeError Неможливо прочитати властивість 'getCurrent' від undefined (натисніть, щоб збільшити)
РІШЕННЯ FIX
Рішення цього питання не настільки просте, як це було в попередньому випадку, проте ми, принаймні, визначили джерело проблеми. Неприємний файл popup.js підписується авторським правом (c) 2012 Автори Chromium, які відповідають за основну частину бібліотеки.
Доки плагін не отримає належне оновлення, яке вирішить проблему, ви можете обійти його, тимчасово вимкнувши плагін під час роботи над важливими проектами.
Інша, менш дратівна виправлення полягає в тому, щоб увімкнути проблематичний плагін, але приховати цю помилку з майбутніх сповіщень безпосередньо в консолі розробки:
Виправлено вирішення неполадки Google Chrome із типом помилок (натисніть, щоб збільшити)
Це дозволить запобігти повідомляти про майбутні помилки з popup.js менш нав'язливим способом: ви побачите активне повідомлення про фільтр у блідо-сірому кольорі.
Представлене рішення може бути чудово, поки ви не вирішите використовувати цю бібліотеку у вашому власному проекті, а пізніше - про необхідність її налагодження в будь-якому місці. Потім потрібно натиснути на сповіщення про фільтр, щоб видалити його.