amit2620 Ответов: 4

Как открыть новое окно, даже если включен блокировщик всплывающих окон


Всем Привет,
Я использую следующий код, чтобы открыть новую страницу в java script, но веб-браузеры выдают предупреждение о блокировщике всплывающих окон

<script language="javascript" type="text/javascript">
        function showPDF() {
            var popUp = window.open("PDFContainer.aspx", '_blank');
            return (popup)?false:true;
        }
    </script>


Как открыть страницу в новом окне, если есть предупреждение о блокировке всплывающих окон(не разрешать вручную блокировку всплывающих окон)

4 Ответов

Рейтинг:
33

Sergey Alexandrovich Kryukov

Это вопрос типа: "делать X не разрешается. Как сделать X?" :-)

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

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

—СА


Abhinav S

5!

Sergey Alexandrovich Kryukov

Спасибо, Абхинав.
--СА

Рейтинг:
1

Abhinav S

Ответ так же прост, как и "нет, ты не можешь".

Представьте себе, что вы включаете блокировщик всплывающих окон в своем браузере, и некоторые злонамеренные пользователи все еще могут открывать всплывающие окна, когда вы просматриваете сайт - это превосходит всю идею блокировщика всплывающих окон, не так ли?


Sergey Alexandrovich Kryukov

Правильно, 5.
--СА

Abhinav S

Спасибо, СА.

Рейтинг:
1

Member 14071194

Всем Привет,
Я использую следующий код, чтобы открыть новую страницу в java script, но веб-браузеры были заблокированы всплывающими окнами

var script = "window.open(", '_blank')";
Веб-окно.CurrentRequestWindow.RegisterStartupScript("clientScriptForNonModalWindow", скрипт);


Richard Deeming

Поэтому вместо того, чтобы читать существующие решения, которые объясняли бы, почему нет никакого способа сделать то, что вы пытаетесь сделать, вы решили опубликовать свой вопрос как РЕШЕНИЕ на чей-то вопрос?

Рейтинг:
0

Karthik. A

Я поддерживаю то, что сказал Сергей. В этом весь смысл наличия блокировщика всплывающих окон! Почему бы просто не открыть что-то вроде диалогового окна пользовательского интерфейса jquery ?

http://jqueryui.com/dialog/[^]


Sergey Alexandrovich Kryukov

Хорошая идея, пятерка. Это может быть даже модальное окно (OP может найти много образцов).
--СА

Karthik. A

Спасибо тебе, Сергей!