Просмотр полной версии : Как можно обойти блокировку всплывающих окон?
azazello
17.12.2008, 14:41
Здравствуйте!
Есть главное окно в котором представлена некая древовидная структура объектов, у любого объекта может быть схема, которая при необходимости должна открываться в другом окне(я открываю функцией window.open, потому что она возвращает ссылку на новое окно). При чем таких открытых схем может быть достаточно много. Из схемы можно перейти обратно в дерево и наоборот. Т.е. главное и дочерние окна должны взаимодействовать друг с другом(например из дочернего передавать данные в функцию родительского окна). В главном окне хранится массив ссылок на дочерние. А дочерние окна получают доступ к родителю через свойство window.opener :) Окна необходимы, потому что человек который работает со схемами может сидеть за двумя мониторами, и плюс он должен иметь возможность сравнивать схемы.
Но есть одна проблема, при определенных настройках браузера клиента, всплывающие окна блокируются. Если ли какой-нибудь способ открыть окно так, чтобы оно при максимальных настройках безопасности браузера клиента не заблокировалось. И при этом сохранилась возможность взаимодействия между окнами. Если кто то поможет буду очень признателен! Спасибо!
var w = window.open(...);
if (!w) {
alert('Разрешите всплывающие окна для этого сайта.');
}
azazello
17.12.2008, 15:12
var w = window.open(...);
if (!w) {
alert('Разрешите всплывающие окна для этого сайта.');
}
:) Хороший способ, тоже рассматривал его, но у нас с системой будут работать пользователи, для которых отключить блокировку окон непосильная задача:)) А самое неприятное что это блокировка может быть на уровне корпоративной безопасности, и чтобы отключить её, потребуется много времени и нервов :)
ну тогда вам стоит запастись временем и нервами, так другого способа отключить блокировку нет.
azazello, если бы можно было отключить блокировку всплывающих окон, странная это была бы блокировка. Вам не кажется?
а вообще какой-ниубдь опыт есть у кого-нить по поводу всплывающих окон?
я вроде слышал, что они могут блокироватся-не блокироватся в зависимсти от разных условий.
например, если оно всплывает на событие перехода по ссылке, то блокается
но, точно не проверял
была ситуация, когда заказчик очень просил, чтобы окно приложения открывалась отедльно, и было определенных размеров
решил как-то так
<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=7 40,height=580,scrollbars=1');
}
возможно что-то наупутал, так как востанавливал частично по памяти
но блокировка всплывающих окон не срабатывала у меня, по крайней мере(в опере стоит, а в отсальных, не сильно в курсе)
все было хорошо, пока у одного из тестеров не оказался касперыч.
его мы обойти так и не смогли.
у окго есть еще опыт?
Тоже столкнулся с этой проблемой. Похоже, что, если в скрипте есть назначение функции на onLoad (я проверял, по крайней мере, с Image.onLoad и window.onLoad), то всплывающее окно блокируется, а если не вешать такого обработчика, то нет. Проверял в ie6.0.2900... и FF 3.0.10.
var w = window.open(...);
if (!w) {
alert('Разрешите всплывающие окна для этого сайта.');
}
отличная идея! спсибо!:yes:
var w = window.open(...);
if (!w) {
alert('Разрешите всплывающие окна для этого сайта.');
}
В опере (по крайней мере в последней версии) такая проверка не катит, там даже если окно заблокированно переменная w будет равна [object window].
Может кто знает как еще можно проверить, не заблокировано ли окно?
KOLANICH
08.08.2010, 17:27
очень просто
повесть попап на клик мыши по элементу, на котором юзер обязательно кликнет
браузер разрешит
удачи
XPyCTang
05.03.2013, 12:15
Решение довольно просто, если понимать логику блокиратора. А логика довольно проста, на сколько я понял: блокируем все что было открыто во время запроса.
В моем случае для обхода блокировки при AJAX запросе, необходимо было лишь открыть окно до запроса.
Для синхронного режима (обычного) окно надо открывать после загрузки страницы, причем я бы сделал это по событию какому-нибудь, объявленному в onload (теоретически, не проверено)
KupueIIIKo
20.07.2015, 10:17
openpop('Переход на другую страницу','<a href=\''+obj.redirect+'\' target=\'_blank\'>'+obj.redirect+'</a><br />Т. к. мы не можем Вас перенаправить насильно на другой сайт. Мы просто предлагаем Вам это сделать самим. С уважением, Администрация.');
Я открываю попандер с ссылкой) И даю ему на обзор юзер пусть сам решает идти ему туда или нет)
KupueIIIKo
20.07.2015, 10:18
И что самое интересное находяться кто кликает) и причем почти 50%
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot