Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   window.open и блокировка всплывающих окон (https://javascript.ru/forum/events/5247-window-open-i-blokirovka-vsplyvayushhikh-okon.html)

Phoenix 29.09.2009 20:47

window.open и блокировка всплывающих окон
 
Привет. Вопрос как можно открыть окно используя JS в обход блокировки.

<div id='someID' name='someID' onclick='click_1();'>Упс</div>
<script>
	function click_1(){
		window.open('test.ru');
	}
	
	click_1();
</script>


П.с. если нажимаю на слой, то открывает окно, а если скриптом, то появляется "блокировка всплывающих окон".

Riim 29.09.2009 21:10

http://prototype-window.xilinus.com/samples.html

Kolyaj 29.09.2009 22:04

Riim,
это что?

Цитата:

Сообщение от Phoenix
П.с. если нажимаю на слой, то открывает окно, а если скриптом, то появляется "блокировка всплывающих окон".

Дык так и открывать: в ответ на действие пользователя. Причем в Сафари, насколько я помню, все совсем плохо. Если окно открывается непосредственно в обработчике -- нет блока, если из обработчика вызывается функция, открывающая окно -- блок.

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

Phoenix 29.09.2009 23:41

а эмулировать нажатие кнопки мыши можно сделать? может блокировка идет т.к. event не передается в функцию?

Riim 30.09.2009 02:08

Цитата:

Сообщение от Kolyaj
это что?

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

Phoenix 30.09.2009 09:10

Цитата:

Сообщение от Riim (Сообщение 31289)
это в том смысле, что не обязательно использовать именно встроенные окна, никто не запрещает создавать свои.

я знаю эту библиотеку, меня интересует мой пример и обход именно всплывающих окон

Serg_pnz 30.09.2009 09:29

Пример эмулирования клика мышью по div. Может и по кнопке сработает.

Kolyaj 30.09.2009 10:48

Цитата:

Сообщение от Phoenix
а эмулировать нажатие кнопки мыши можно сделать? может блокировка идет т.к. event не передается в функцию?

Тогда бы блокировка не имела смысла.

Phoenix 30.09.2009 19:57

я хочу получить location.href у заблокированного окна.
<div id='someID' name='someID' onclick='click_1();'>
Окно
</div>
<div onclick='loaddd();'>Ссылка</div>
<script>


	function click_1(){
		page123 = window.open('http://www.city-rock.ru/', '123');
	}
	
	function loaddd(){
		alert(page123.document.location.href);
	}
</script>


но получаю ошибку Permission denied for to get property Window.document from <http://www.city-rock.ru>.

как я понял это система защиты между разными окнами? или я просто неверно пытаюсь получить адрес открытой страницы :(

Kolyaj 01.10.2009 07:36

Дык нельзя ничего получить от окна со страницей с другого домена.


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