Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как можно обойти блокировку всплывающих окон? (https://javascript.ru/forum/misc/2378-kak-mozhno-obojjti-blokirovku-vsplyvayushhikh-okon.html)

azazello 17.12.2008 14:41

Как можно обойти блокировку всплывающих окон?
 
Здравствуйте!

Есть главное окно в котором представлена некая древовидная структура объектов, у любого объекта может быть схема, которая при необходимости должна открываться в другом окне(я открываю функцией window.open, потому что она возвращает ссылку на новое окно). При чем таких открытых схем может быть достаточно много. Из схемы можно перейти обратно в дерево и наоборот. Т.е. главное и дочерние окна должны взаимодействовать друг с другом(например из дочернего передавать данные в функцию родительского окна). В главном окне хранится массив ссылок на дочерние. А дочерние окна получают доступ к родителю через свойство window.opener :) Окна необходимы, потому что человек который работает со схемами может сидеть за двумя мониторами, и плюс он должен иметь возможность сравнивать схемы.

Но есть одна проблема, при определенных настройках браузера клиента, всплывающие окна блокируются. Если ли какой-нибудь способ открыть окно так, чтобы оно при максимальных настройках безопасности браузера клиента не заблокировалось. И при этом сохранилась возможность взаимодействия между окнами. Если кто то поможет буду очень признателен! Спасибо!

Kolyaj 17.12.2008 14:49

var w = window.open(...);
if (!w) {
    alert('Разрешите всплывающие окна для этого сайта.');
}

azazello 17.12.2008 15:12

Цитата:

Сообщение от Kolyaj (Сообщение 9648)
var w = window.open(...);
if (!w) {
    alert('Разрешите всплывающие окна для этого сайта.');
}


:) Хороший способ, тоже рассматривал его, но у нас с системой будут работать пользователи, для которых отключить блокировку окон непосильная задача:)) А самое неприятное что это блокировка может быть на уровне корпоративной безопасности, и чтобы отключить её, потребуется много времени и нервов :)

ZoNT 17.12.2008 15:51

ну тогда вам стоит запастись временем и нервами, так другого способа отключить блокировку нет.

Kolyaj 17.12.2008 15:57

azazello, если бы можно было отключить блокировку всплывающих окон, странная это была бы блокировка. Вам не кажется?

Gvozd 17.12.2008 18:19

а вообще какой-ниубдь опыт есть у кого-нить по поводу всплывающих окон?
я вроде слышал, что они могут блокироватся-не блокироватся в зависимсти от разных условий.
например, если оно всплывает на событие перехода по ссылке, то блокается
но, точно не проверял
была ситуация, когда заказчик очень просил, чтобы окно приложения открывалась отедльно, и было определенных размеров
решил как-то так
<form action="edit.php" method="post" enctype="multipart/form-data" target="load" onSubmit="pre_load();return true;">
	<input type="file" name="image" />
	<input type="submit" value="Загрузить фото" onClick="pre_load();return true;">
</form>

function pre_load()
	{
	edit_window=window.open('edit.htm','load','width=740,height=580,scrollbars=1');
	}

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

b812 03.05.2009 19:03

Тоже столкнулся с этой проблемой. Похоже, что, если в скрипте есть назначение функции на onLoad (я проверял, по крайней мере, с Image.onLoad и window.onLoad), то всплывающее окно блокируется, а если не вешать такого обработчика, то нет. Проверял в ie6.0.2900... и FF 3.0.10.

blase 03.05.2009 22:15

Цитата:

Сообщение от Kolyaj (Сообщение 9648)
var w = window.open(...);
if (!w) {
    alert('Разрешите всплывающие окна для этого сайта.');
}

отличная идея! спсибо!:yes:

Kirrr 05.08.2010 16:54

Цитата:

Сообщение от Kolyaj (Сообщение 9648)
var w = window.open(...);
if (!w) {
    alert('Разрешите всплывающие окна для этого сайта.');
}

В опере (по крайней мере в последней версии) такая проверка не катит, там даже если окно заблокированно переменная w будет равна [object window].
Может кто знает как еще можно проверить, не заблокировано ли окно?

KOLANICH 08.08.2010 17:27

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


Часовой пояс GMT +3, время: 12:57.