Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > блокировка всплывающего окна


Автор: Orient 18.9.2009, 20:13
Здравствуйте

Может не совсем в том разделе тему открываю, но нужна помощь зала.
Есть сайт http://dle.good-advices.com/. там есть статья test и там ссылка test.com.
Задача стоит в том, чтобы прикрутить к этой ссылке открытие еще одной ссылки. Открытие второй ссылки я реализую через onclick, там выполняется window.open. В свою очередь, основная ссылка тоже должна открываться в новом окне, реализуется через target="_blank".
Все хорошо работает во всех браузерах, кроме ИЕ. В ИЕ возникает предупреждение о блокировании всплывающего окна, причем блокируется основная ссылка а не мой window.open. Кто-нибудь может посоветовать как мне обойти проблему с блокировкой?


Автор: Samotnik 19.9.2009, 01:05
http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx
Нужно писать примерно так : 
Код

<a href="index.html" onClick="window.open('index.html','_blank','height=300,width=400,scrollbars=yes');return false;">index
</a>

Автор: Orient 20.9.2009, 08:08
видимо я не очень понятно написал. у меня ссылка вот так написана:

Код


<a href="index.html" target="_blank"  onClick="window.open('index2.html','_blank','height=300,width=400,scrollbars=yes');return false;">index
</a>




В ИЕ index2.html открывается, а index.html блокируется как всплывающее окно.
Как этого можно избежать?

Автор: Amphiluke 20.9.2009, 10:40
Открыть оба с помощью метода open...
Код

<a href="#" onclick="window.open('index.html','',''); window.open('index2.html','_blank','height=300,width=400,scrollbars=yes'); return false;">index
</a>


Добавлено через 3 минуты и 43 секунды
И, кстати, весьма вероятно, что окно не открывается не вследствие его блокировки как всплывающего, а из-за выставленного returt false. Попробуйте свой же способ без return false.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)