- Как разрешить popup Windows в браузере
- Открытие окон и методы window
- Блокировка попапов
- Полный синтаксис window.open
- Пример: минималистичное окно
- Доступ к попапу из основного окна
- Доступ к открывшему окну из попапа
- Комментарии
- Configuring your web browser to allow pop-up windows
- Safari (macOS)
- Chrome .current (Windows/macOS)
- Firefox .current (Windows/macOS)
- Internet Explorer (Windows)
- Edge (Windows 10 only)
Как разрешить popup Windows в браузере
Как разрешить всплывающие окна в браузере Хром
Как отключить блокировку всплывающих окон в Google Chrome, Mail, Yandex браузере
Как Убрать Всплывающие Окна в Браузере Гугл Хром / How to Remove pop-up windows in Google Chrome
Как блокировать всплывающие окна в Google Chrome
Как в Chrome разрешить всплывающие окна
Как Блокировать Всплывающие Окна в Google Chrome | Как Отключить Всплывающие Окна в Google Chrome
Яндекс Браузер — Всплывающие PopUp Push уведомления (баг)
Как убрать всплывающие окна в браузере Google Chrome. БЕЗ ПРОГРАММ 2017
Как отключить оповещения в браузере и запретить сайтам показывать запросы на показ уведомлений
Как отключить всплывающие уведомления от разных сайтов в браузерах Gogle Chrome,Opera,Mozilla!
Открытие окон и методы window
Всплывающее окно («попап» – от англ. Popup window) – один из древнейших способов показать пользователю ещё один документ.
… и откроется новое окно с указанным URL. Большинство современных браузеров по умолчанию будут открывать новую вкладку вместо отдельного окна.
Попапы существуют с доисторических времён. Они были придуманы для отображения нового контента поверх открытого главного окна. Но с тех пор появились другие способы сделать это: JavaScript может загрузить содержимое вызовом fetch и показать его в тут же созданном
Кроме того, попапы не очень хороши для мобильных устройств, которые не умеют показывать несколько окон одновременно.
Однако, для некоторых задач попапы ещё используются, например для OAuth-авторизации (вход через Google/Facebook/…), так как:
- Попап – это отдельное окно со своим JavaScript-окружением. Так что открытие попапа со стороннего, не доверенного сайта вполне безопасно
- Открыть попап очень просто.
- Попап может производить навигацию (менять URL) и отсылать сообщения в основное окно.
Блокировка попапов
В прошлом злонамеренные сайты заваливали посетителей всплывающими окнами. Такие страницы могли открывать сотни попапов с рекламой. Поэтому теперь большинство браузеров пытаются заблокировать всплывающие окна, чтобы защитить пользователя.
Всплывающее окно блокируется в том случае, если вызов window.open произошёл не в результате действия посетителя (например, события onclick ).
Таким образом браузеры могут защитить пользователя от появления нежелательных попапов, при этом не отключая попапы полностью.
Что, если попап должен открываться в результате onclick , но не сразу, а только после выполнения setTimeout ? Здесь все не так-то просто.
Попап откроется в Chrome, но будет заблокирован в Firefox.
Но если мы уменьшим тайм-аут до одной секунды, то попап откроется и в Firefox:
Мы получили два разных результата из-за того, что Firefox «допускает» таймаут в 2000 мс или менее, но все, что свыше этого – не вызывает его доверия, т.к. предполагается, что в таком случае открытие окна происходит без ведома пользователя. Именно поэтому попап из первого примера будет заблокирован, а из второго – нет.
Полный синтаксис window.open
Синтаксис открытия нового окна: window.open(url, name, params) :
url URL для загрузки в новом окне. name Имя нового окна. У каждого окна есть свойство window.name , в котором можно задавать, какое окно использовать для попапа. Таким образом, если уже существует окно с заданным именем – указанный в параметрах URL откроется в нем, в противном случае откроется новое окно. params Строка параметров для нового окна. Содержит настройки, разделённые запятыми. Важно помнить, что в данной строке не должно быть пробелов. Например width=200,height=100 .
Параметры в строке params :
- Позиция окна:
- left/top (числа) – координаты верхнего левого угла нового окна на экране. Существует ограничение: новое окно не может быть позиционировано вне видимой области экрана.
- width/height (числа) – ширина и высота нового окна. Существуют ограничения на минимальную высоту и ширину, которые делают невозможным создание невидимого окна.
- Панели окна:
- menubar (yes/no) – позволяет отобразить или скрыть меню браузера в новом окне.
- toolbar (yes/no) – позволяет отобразить или скрыть панель навигации браузера (кнопки вперёд, назад, перезагрузки страницы) нового окна.
- location (yes/no) – позволяет отобразить или скрыть адресную строку нового окна. Firefox и IE не позволяют скрывать эту панель по умолчанию.
- status (yes/no) – позволяет отобразить или скрыть строку состояния. Как и с адресной строкой, большинство браузеров будут принудительно показывать её.
- resizable (yes/no) – позволяет отключить возможность изменения размера нового окна. Не рекомендуется.
- scrollbars (yes/no) – позволяет отключить полосы прокрутки для нового окна. Не рекомендуется.
Помимо этого существует некоторое количество не кроссбраузерных значений, которые обычно не используются. Найти примеры таких свойств можно по ссылке.
Пример: минималистичное окно
Давайте откроем окно с минимальным набором настроек, просто чтобы посмотреть, какие из них браузер позволит отключить:
В этом примере большинство настроек заблокированы и само окно находится за пределами видимой области экрана. Посмотрим, что получится в результате. Большинство браузеров «исправит» странные значения – как, например, нулевые width/height и отрицательные left/top . Например, Chrome установит высоту и ширину такого окна равной высоте и ширине экрана, так что попап будет занимать весь экран.
Давайте исправим значения и зададим нормальные координаты ( left и top ) и значения размеров окна ( width и height ):
Большинство браузеров выведет окно с заданными нами настройками.
Правила для опущенных параметров:
- Если третий аргумент при вызове open отсутствует или он пустой, будут использованы настройки окна по умолчанию.
- Если строка параметров передана, но некоторые параметры yes/no пропущены, то считается, что указано no , так что соответствующие возможности будут отключены, если на это нет ограничений со стороны браузера. Поэтому при задании параметров убедитесь, что вы явно указали все необходимые yes.
- Если координаты left/top не заданы, браузер попытается открыть новое окно рядом с предыдущим открытым окном.
- Если не заданы размеры окна width/height , браузер откроет новое окно с теми же размерами, что и предыдущее открытое окно.
Доступ к попапу из основного окна
Вызов open возвращает ссылку на новое окно. Эта ссылка может быть использована для управления свойствами окна, например, изменения положения и др.
Например, здесь мы генерируем содержимое попапа из JavaScript:
А здесь содержимое окна модифицируется после загрузки:
Обратите внимание: сразу после window.open новое окно ещё не загружено. Это демонстрируется в строке (*) . Так что нужно ждать onload , чтобы его изменить. Или же поставить обработчик DOMContentLoaded на newWin.document .
Окна имеют свободный доступ к содержимому друг друга только если они с одного источника (у них совпадают домен, протокол и порт (protocol://domain:port).
Иначе, например, если основное окно с site.com , а попап с gmail.com , это невозможно по соображениям пользовательской безопасности. Детали см. в главе Общение между окнами.
Доступ к открывшему окну из попапа
Попап также может обратиться к открывшему его окну по ссылке window.opener . Она равна null для всех окон, кроме попапов.
Если вы запустите код ниже, то он заменит содержимое открывшего (текущего) окна на «Тест»:
let newWin = window.open(«about:blank», «hello», «width=200,height=200»); newWin.document.write( «
Комментарии
- Если вам кажется, что в статье что-то не так — вместо комментария напишите на GitHub.
- Для одной строки кода используйте тег , для нескольких строк кода — тег
, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)
Configuring your web browser to allow pop-up windows
Most web browsers include a feature to block pop-up windows. While this may eliminate unwanted or bothersome pop-up windows, the feature sometimes can impede the functionality of legitimate or useful websites.
Some popular Penn-affiliated websites requiring pop-ups include U@Penn and the Penn Online Directory.
Follow the instructions below to configure your web browser to allow pop-up windows for your selected websites.
- Apple Safari (macOS)
- Google Chrome .current (Windows/macOS)
- Mozilla Firefox.current (Windows/macOS)
- Microsoft Internet Explorer (Windows)
- Microsoft Edge (Windows 10 only)
Note: If you have installed third party applications to block pop-ups (examples include the Google, MSN, and Yahoo! toolbars), be sure to consult the vendor documentation to allow pop-up windows for desired websites.
Safari (macOS)
Safari for macOS has no per-website control over blocking pop-up windows. Pop-ups are either blocked, or they are not. To allow pop-ups:
- From the Safari menu, choose Preferences. and click the Security tab.
- Ensure the Block pop-up windows option is not checked. Unchecking this option will allow pop-ups.
- To block pop-ups once again, check the Block pop-up windows checkbox.
Note: If you are concerned about allowing pop-ups globally for all websites that you browse, consider using another web browser that allows website exceptions such as Chrome or Firefox.
Chrome .current (Windows/macOS)
- Open Chrome, then go to the web page that you want to allow pop-ups.
- In Chrome’s URL window, highlight the entire web address of the current page, then choose the Copy command from the Edit menu or right-click and choose the Copy command.
- Click the icon with three horizontal bars in the upper right side of the browser toolbar.
- Click Settings.
- Scroll to the bottom of the Settings section and click Show advanced settings. .
- In the Privacy section, click Content settings. . The Content settings window appears.
- Scroll to the Pop-ups section, and then ensure the Do not allow any site to show pop-ups radio button is selected.
- Click Manage exceptions. .
- In the Hostname pattern field, choose the Paste command from the Edit menu or right-click and choose the Paste command, and ensure the Behavior dropdown menu is set to Allow.
Notes: Pasting the web address of a page you wish to allow pop-ups is recommended, rather than typing the generic main web address. For example, you might visit www.example.com/requirepopup.html, but the page is actually hosted at popup.example.com/forms/popupform.html. In this example, you must allow popup.example.com, not www.example.com. Note also that entire websites must be allowed, not individual directories or pages, so in this example Chrome will automatically add the top level popup.example.com to its Allowed sites.
Firefox .current (Windows/macOS)
- Open Firefox, then go to the web page that you want to allow pop-ups.
- In Firefox’s URL window, highlight the entire web address of the current page, then choose the Copy command from the Edit menu or right-click and choose the Copy command.
- Click the icon with three horizontal bars in the upper right side of the browser toolbar.
- Select Options (Windows) or Preferences (macOS).
- In the left sidebar, click on the Content icon to display the Content section.
- In the Pop-ups section, ensure the Block pop-up windows checkbox is selected, then click the adjacent Exceptions... button.
- In the Address of web site: field, choose the Paste command from the Edit menu or right-click and choose the Paste command, and then click Allow.
Notes: Pasting the web address of a page you wish to allow pop-ups is recommended, rather than typing the generic main web address. For example, you might visit www.example.com/requirepopup.html, but the page is actually hosted at popup.example.com/forms/popupform.html. In this example, you must allow popup.example.com, not www.example.com. Note also that entire websites must be allowed, not individual directories or pages, so in this example Firefox will automatically add the top level popup.example.com to its Allowed sites.
Internet Explorer (Windows)
When a website attempts to launch a new pop-up window, you may see dialog boxes alerting you of pop-up windows that have been blocked. Follow the instructions below to allow pop-up windows on a per-website basis.
- Open Internet Explorer, then go to the web page that you want to allow pop-ups.
- In Internet Explorer’s Address field, highlight the entire web address of the current page, then right-click and choose the Copy command.
- From the Tools menu (the gear icon on the far right), select Internet options. The Internet Options dialog box opens.
- Click on the Privacy tab.
- Under Pop-up Blocker ensure the Turn on Pop-up Blocker checkbox is checked, and then click Settings. The Pop-up Blocker Settings dialog box opens.
- Right-click in the Address of website to allow: field, then choose the Paste command.
Notes: Pasting the web address of a page you wish to allow pop-ups is recommended, rather than typing the generic main web address. For example, you might visit www.example.com/requirepopup.html, but the page is actually hosted at popup.example.com/forms/popupform.html. In this example, you must allow popup.example.com, not www.example.com. Note also that entire websites must be allowed, not individual directories or pages, so in this example Internet Explorer will automatically add the top level popup.example.com to its Allowed sites.
For more information about pop-ups, see Learn more about Pop-up Blocker, located at the bottom of the dialog box.
Edge (Windows 10 only)
Microsoft Edge for Windows 10 has no per-website control over blocking pop-up windows. Pop-ups are either blocked, or they are not. To allow pop-ups:
- Click the ellipsis icon (. ) in the upper right corner of your web browser, and then click Settings.
- In the Advanced settings section, click View advanced settings.
- In the Block pop-ups section, click the switch to Off. Pop-ups are now allowed.
- To block pop-ups once again, click the switch to On.
Note: If you are concerned about allowing pop-ups globally for all websites that you browse, consider using another web browser that allows website exceptions such as Chrome or Firefox.