0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как закрыть «зависший» браузер

Как закрыть «зависший» браузер?

  1. Стандартные методы закрытия браузера
    1. Закрытие окна браузера
    2. Знаменитые Alt + F4
    3. Закрытие через Панель задач
  2. Нестандартные методы закрытия браузера
    1. Закрытие браузера через Диспетчер задач
    2. Кнопка RESET на системном блоке
  3. Правила безопасности
    1. Причины зависания браузера
    2. Антивирусная защита
  4. Итоги

Есть несколько способов как закрыть браузер, независимо от того, используете ли Вы Google Chrome, Яндекс Браузер, Opera, Mozilla Firefox, Safari или другой.

Если браузер не закрывается с использованием одного из основных методов, например, когда браузер завис и не отвечает, то Вы можете использовать нестандартные способы закрытия браузера.

В данной статье приведена полная пошаговая инструкция, в которой мы рассмотрим самые популярные и простые, но действенные способы закрытия любого браузера на компьютере в обычном или зависшем состоянии.

Быстро скрыть все вкладки браузера – зачем это нужно?

Быстро закрыть все вкладки с возможностью восстановления может понадобиться, если человек сидит в браузере во время работы, просматривает веб-страницы с конфиденциальной информацией или смотрит тот контент, который не хочется показывать другим людям.

Статья в тему:  Как повернуть рабочий стол на виндовс 10.

Тянуться к заветному крестику около нужной вкладки – не самый удобный способ скрывать информацию от других людей. Да и после этого бывает трудно вновь найти и открыть ранее закрытую вкладку. Быстрое скрытие всех вкладок в идеале должно позволять моментально восстановить все скрытые сайты.

Функциональное меню

Закрыть все вкладки можно иначе. К примеру, посредством использования функционального меню интернет-обозревателя. Этот расклад встречается не так уж и часто.

Действовать необходимо таким образом:

  1. Кликнуть ПКМ по панели вкладок.
  2. Выбрать то или иное действие. Например, «Закрыть все» или «Закрыть вкладку». В некоторых обозревателях имеются функции типа «Закрыть все справа» или «Закрыть другие». В последнем случае будет завершена работа со всеми открытыми сайтами за исключением активного.

Именно функциональное меню помогает восстанавливать случайно закрытые веб-ресурсы. В интернет-обозревателях можно увидеть опцию «Открыть закрытую…». Она восстановит последний закрытый сайт. Повторное использование опции приведет к открытию предпоследней страницы и так далее.

На телефоне

Смартфоны обладают несколько уменьшенными версиями браузеров, причём такая особенность наблюдается не только с Яндекс браузером. Пункт массового закрытия вкладок такое уменьшение функциональности не затронуло, по крайней мере, если речь идёт про Android.

Android

Процесс, в целом, сравним с тем, что проводится на компьютере, только действий осуществить придётся чуть-чуть больше.

  1. Находим кнопку с количеством открытых выкладок, нажимаем её.
  2. Откроется список активных страниц. Трогать их не нужно, нам потребуется нажать на вертикальное троеточие справа внизу.
  3. Из открывшегося списка выбираем пункт «Закрыть все вкладки» и нажимаем его.
Статья в тему:  Все о Мегафоне. Отключаем мобильный интернет на мегафоне

Таким образом мы можем закрыть всё, что было открыто, переместившись на стартовую страницу Яндекс браузера. Для того, чтобы закрыть, к примеру, все вкладки, кроме одной, или кроме нескольких, нужно дойти до второго шага вышеописанного алгоритма и осуществить длительное нажатие на одну из них. Браузер предложит три пункта на выбор, которые работают так же, как и вышеописанное «Закрыть вкладки справа» в компьютерной версии.

iPhone

С iPhone ситуация интересная. Здесь также нужно выполнить несколько простых шагов, как и на Android, однако, процесс закрытия интересным образом отличается.

  1. Открываем панель с открытыми вкладками нажав клавишу с их количеством.
  2. Закрываем одну из открытых страниц.
  3. На появившейся панели нажимаем пункт «Закрыть всё».
  4. Подтверждаем выбор.

На этом всё. Версия Яндекс браузера, к сожалению, не обучена закрытию нескольких вкладок, кроме выбранных, которые нужно оставить. Такова особенность яблочной версии.

Закрываем все вкладки в Хроме

Закрыть все вкладки в Хроме можно абсолютно аналогичным образом, как это делается в Опере и Яндекс браузере. Единственный момент, если у вас браузер на английском языке, тогда нужно будет кликнуть правой кнопкой мыши по открытой вкладке и выбрать «Close other tabs».

В результате чего будут закрыты все открытые вкладки в Chrome, кроме одной.

Как поступают браузеры?

К нашему сожалению, у каждого браузера имеется собственный набор моделей поведения, связанный с window.close() (можете поэкспериментировать с этой тестовой страницей). Отчасти это так из-за того, что большинство этих моделей поведения было реализовано до появления соответствующего стандарта.

Статья в тему:  Полное удаление антивируса AVG

▍Internet Explorer

В Internet Explorer вкладка или окно браузера закрывается без лишних вопросов в том случае, если для создания этой вкладки или этого окна была использована команда window.open() . Браузер не пытается удостовериться в том, что история посещений страниц вкладки содержит лишь один документ. Даже если у вкладки будет большой TravelLog , она, если открыта скриптом, просто закроется. (IE, кроме того, позволяет HTA-документам закрывать самих себя без каких-либо ограничений).

Во всех других случаях вкладку (или окно) просто так не закрыть: пользователю показывают одно или два модальных окна, что зависит от того, представлена ли страница единственной вкладкой в окне браузера.

Окна для подтверждения закрытия вкладки или окна

▍Chromium (Microsoft Edge, Google Chrome и другие браузеры)

В Chromium 88 команда window.close() выполняется успешно в том случае, если у нового окна или у новой вкладки что-то записано в свойство opener, или в том случае, если стек навигации страницы содержит менее двух записей .

Как видите, тут наблюдается небольшое отличие того, что требует спецификация, от того, что реализовано в браузере.

Во-первых — обратите внимание на то, что я упомянул свойство opener , а не сказал о том, что «страница была создана скриптом». Вспомним о том, что свойство opener позволяет всплывающему окну обращаться к создавшей его вкладке.

  • Если пользователь создаёт новую вкладку, щёлкнув по соответствующей кнопке, воспользовавшись комбинацией клавиш Ctrl + T , щёлкнув по ссылке и нажав при этом Shift , открыв URL из командной оболочки, то у открытой в результате вкладки свойство opener установлено не будет.
  • А если вкладка была открыта с помощью команды open() или через гиперссылку с заданным атрибутом target (не _blank ), тогда, по умолчанию, в свойство opener записывается некое значение.
  • У любой ссылки может быть атрибут rel=opener или rel=noopener , указывающий на то, будет ли у новой вкладки установлено свойство opener .
  • При выполнении JavaScript-вызова open() можно, в строке windowFeatures , указать noopener , что приведёт к установке свойства opener новой вкладки в null .
Статья в тему:  Яндекс ты умный. Яндекс ты лапочка

Вышеприведённый список позволяет сделать вывод о том, что и обычный щелчок по ссылке, и использование JavaScript-команды open() может привести к созданию вкладки как с установленным, так и с неустановленным свойством opener . Это может вылиться в серьёзную путаницу: открытие ссылки с зажатой клавишей Shift может привести к открытию вкладки, которая не может сама себя закрыть. А обычный щелчок мыши по такой ссылке приводит к открытию вкладки, которая всегда может закрыть себя сама.

Во-вторых — обратите внимание на то, что в начале этого раздела я, говоря о стеке навигации, употребил слово «записи», а не «объекты Document». В большинстве случаев понятия «запись» и «объект Document» эквивалентны, но это — не одно и то же. Представьте себе ситуацию, когда в новой вкладке открывается HTML-документ, в верхней части которого содержится нечто вроде оглавления. Пользователь щёлкает по ToC-ссылке, ведущей к разделу страницы #Section3 , после чего браузер послушно прокручивает страницу к нужному разделу. Стек навигации теперь содержит две записи, каждая из которых указывает на один и тот же документ. В результате Chromium-браузер блокирует вызов window.close() , а делать этого ему не следует. Этот давний недостаток с выходом Chromium 88 стал заметнее, чем раньше, так как после этого ссылкам с атрибутом target , установленным в _blank , по умолчанию назначается атрибут rel=noopener .

Статья в тему:  Новогодние музыкальные игры и конкурсы

В ветке трекера ошибок Chromium, посвящённой проблеме 1170131, можно видеть, как эту проблему пытаются решить путём подсчёта количества объектов Document в стеке навигации. Но сделать это непросто, так как в настоящее время у процесса, отвечающего за рендеринг страницы, в котором выполняется JavaScript-код, есть доступ только к количеству записей в стеке навигации, но не к их URL.

▍Chromium: пользовательский опыт

Когда браузер Chrome блокирует команду close() , он выводит в консоль следующее сообщение, которое мы уже обсуждали:

А пользователю, который в консоль обычно не смотрит, об этом никак не сообщается. Это может показаться странным тому, кто щёлкнул по кнопке или по ссылке, предназначенной для закрытия страницы. В недавно появившемся сообщении об ошибке 1170034 предлагается показывать пользователю в такой ситуации диалоговое окно, вроде того, что показывается в Internet Explorer. (Между прочим, это сообщение об ошибке задаёт новый стандарт подготовки подобных сообщений. В нём, в виде, напоминающем комикс, показано, как несчастный пользователь превращается в счастливого в том случае, если в Chromium будет реализован предлагаемый функционал.)

▍Chromium: любопытные факты об очень редкой ошибке

То, о чём пойдёт речь, представляет собой весьма хитрый сбой, «пограничный случай», возникающий лишь в особых ситуациях. Но я, в течение пяти лет, встречался с сообщениями о подобном сбое, касающимися и Chrome, и Edge.

Статья в тему:  Ascii описание. Кодирование текстовой информации

Речь идёт о том, что если установить свойство Chromium On Startup (При запуске) в значение Continue where you left off (Восстановить вкладки предыдущего сеанса), перейти на страницу, которая пытается сама себя закрыть, а после этого закрыть окно браузера, то браузер потом, при каждом запуске, будет сам себя закрывать.

Попасть в такую ситуацию довольно сложно, но в Chrome/Edge 90 это вполне возможно.

Вот как воспроизвести эту ошибку. Посетите страницу https://webdbg.com/test/opener/. Щёлкните по ссылке Page that tries to close itself (Страница, которая пытается себя закрыть). Воспользуйтесь сочетанием клавиш Ctrl+Shift+Delete для очистки истории просмотра (стека навигации). Закройте браузер с помощью кнопки X . Теперь попробуйте запустить браузер. Он будет запускаться, а потом сам собой закрываться.

▍Safari/WebKit

Код WebKit похож на код Chromium (что неудивительно, учитывая их генеалогию). Исключением является лишь тот факт, что WebKit не уравнивает переходы по noopener-страницам с переходами, инициированными через интерфейс браузера. В результате пользователь, работая в Safari, может перемещаться по множеству страниц с одного сайта, а команда close() при этом будет работоспособна.

Если же вызов close() окажется заблокированным, то в JavaScript-консоль Safari (надёжно скрытую от посторонних глаз) будет выведено сообщение, указывающее на то, что окно закрыть нельзя из-за того, что оно создано не средствами JavaScript:

▍Firefox

В браузере Firefox, в отличие от Chromium, та часть спецификации HTML, в которой говорится о «только одном Document», реализована корректно. Firefox вызывает функцию IsOnlyTopLevelDocumentInSHistory() , а она вызывает функцию IsEmptyOrHasEntriesForSingleTopLevelPage() , которая проверяет историю сессий. Если там больше одной записи, она уточняет, относятся ли они все к одному и тому же объекту Document. Если это так — вызов close() выполняется.

Статья в тему:  Данные PHP. Волшебные константы Константы в php

Firefox даёт в наше распоряжение настройку about:config , называемую dom.allow_scripts_to_close_windows , позволяющую переопределить стандартное поведение системы.

Когда Firefox блокирует close() — он выводит в консоль сообщение о том, что скрипты не могут закрывать окна, которые были открыты не скриптами:

В трекере ошибок Firefox уже 18 лет лежит просьба о том, чтобы браузер показывал бы в подобной ситуации соответствующее окно, а не ограничивался бы выводом сообщения в консоль.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector