Как включить обратно window.alert в Chrome на localhost

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для того чтобы вернуть функции window.alert исходное поведение в браузере Chrome, достаточно выполнить следующий код:

JS
Скопировать код
let originalAlert = window.alert.bind(window);
window.alert = (...args) => originalAlert(...args);
console.log("Работает!");

Теперь originalAlert будет содержать в себе оригинальную функцию уведомлений Chrome. Скопируйте этот код, вставьте его в консоль разработчика и выполните его, чтобы восстановить стандартное поведение уведомлений.


Кинга Идем в IT: пошаговый план для смены профессии

Первичная проверка

Перед тем как углубляться в поиск решения проблемы, осуществите ряд базовых проверок:

  • Проверьте, не блокируют ли уведомления настройки Chrome и установленные расширения. Для этого перейдите по адресу chrome://settings/content/notifications.
  • Проверьте наличие ошибок JavaScript с помощью console.log, которые могут блокировать вывод уведомлений.
  • Попробуйте использовать window.alert в других браузерах, чтобы понять, связана ли проблема конкретно с Chrome.

Визуализация

Представим, что Google Chrome — это игровой парк, а window.alert — это клоун, который развлекает посетителей. Предположим, что кто-то решил "убрать" его. Давайте вернём веселье обратно:

JS
Скопировать код
let originalAlert = window.alert.bind(window);
window.alert = (...args) => originalAlert(...args);
console.log("Кто там?");

Теперь у нас:

Markdown
Скопировать код
До:       🏰🔒 (Скука)
После: 🏰🌟 (Веселье вернулось!)

Возвращение window.alert — это возвращение доброго хаоса в наш игровой парк!


Дополнительная диагностика

Если быстрое решение не помогло, обратимся к другим возможным причинам проблемы в Chrome:

Сброс настроек Chrome

Верните исходные настройки Chrome, чтобы исключить влияние локальных конфигураций:

  1. Введите chrome://settings/reset в адресной строке.
  2. Нажмите на кнопку Восстановить настройки по умолчанию.
  3. Подтвердите выбор, нажав на кнопку Сбросить настройки.

Очистка истории браузера

Иногда сохранённые данные могут влиять на корректность работы JavaScript:

  1. Перейдите по ссылке chrome://settings/clearBrowserData.
  2. Отметьте галочками Кэшированные изображения и файлы и Файлы cookie и другие данные сайтов.
  3. Нажмите кнопку Очистить данные.

После этого обновите страницу, чтобы применить изменения.

Возможное влияние расширений и переопределений

Иногда работа скриптов может быть нарушена расширениями, а также переопределениями, заданными через инструменты разработчика:

  • Попробуйте отключать расширения по одному для определения того, которое вызывает проблему.
  • В инструментах разработчика Chrome перейдите по пути Исходники -> Переопределения для проверки возможно переопределённого кода.

Полезные материалы

  1. Метод alert() объекта Window – Web API | MDN — детальное описание метода window.alert на MDN.
  2. Аналог функции sleep() в JavaScript – Stack Overflow — обсуждение работы с таймерами в JavaScript на StackOverflow.
  3. Что нового в Инструментах разработчика (Chrome 89) – Блог | Chrome для разработчиков — статья о новых функциях инструментов разработки Chrome.
  4. chrome.tabs – API | Chrome для разработчиков — руководство Google по использованию executeScript в расширениях.
  5. Политика безопасности контента – Статьи | web.dev — статья об ограничениях безопасности JavaScript и политиках безопасности контента.
  6. Оценка строки как математического выражения в JavaScript – Stack Overflow — обсуждение возможности переопределения функций приведено в посте на StackOverflow.
  7. Метод alert() объекта Window — основы использования метода alert представлены на ресурсе W3Schools.