Закрытие всплывающего окна IE скриптом - PullRequest
0 голосов
/ 20 февраля 2009

Можно ли вообще отключить "Просматриваемая веб-страница пытается закрыть окно. Хотите закрыть его?"?

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

Код, который я использую, сделан из кода C #:

ClientScript.RegisterClientScriptBlock(GetType(), "save", Utils.MakeScriptBlock("window.close();")); 

Utils.MakeScriptBlock - это просто функция, которая делает то, что вы могли ожидать. Он «внедряет» тег с кодом в нем ...

Вероятно, невозможно обойти это, иначе все сценаристы просто использовали бы этот трюк, но я подумал, что спрошу, поскольку я не могу быть ЕДИНСТВЕННЫМ, использующим простые "всплывающие окна" IE как ( псевдо) модальные диалоговые окна.

Этот код происходит в моей подпрограмме ButtonSave_Click () после того, как все прошло проверку и т. Д. ...

** РЕДАКТИРОВАТЬ **
Просто для справки, вот код, который открывает всплывающее окно, когда нажата кнопка ADD:

Это в Page_Init () ...

ButtonAdd.Attributes.Add("onclick", "window.open('Add.aspx', 'ADD_WINDOW', 'scrollbars=no,width=550,height=550,location=no,menubar=no,resizable=yes,directories=no,status=no,toolbar=no'); return false;");

Ответы [ 5 ]

3 голосов
/ 20 февраля 2009

Вы можете закрыть окно без всплывающего окна, если окно было открыто вашим скриптом. Это помогает?

Edit: Вы уже открываете окно со скриптом. Измените свой клиентский скрипт так, чтобы он вызывал self.close ().

ClientScript.RegisterClientScriptBlock(GetType(), "save", Utils.MakeScriptBlock("self.close();"));
0 голосов
/ 20 февраля 2009

Странно, но я обнаружил, что

<script type="text/javascript">
function closeWindow()
{
    window.close();
    return false;
}
</script>

, а затем позвонив

return closeWindow();

обычно обходит это.

0 голосов
/ 20 февраля 2009

Если пользователь открыл окно браузера, вы не можете закрыть его; но если окно было открыто с помощью скрипта, вы можете. Похоже, вам просто нужна начальная страница, с которой пользователь начинает со ссылки «нажмите здесь, чтобы начать», с которой вы открываете новое окно для основной части сайта; когда они все закончат, закройте всплывающее окно, и у них останется исходное окно браузера с сообщением «нажмите здесь, чтобы начать».

0 голосов
/ 20 февраля 2009

Я очень сомневаюсь, что это возможно с вашей стороны - звучит как то, что пользователь должен был бы специально отключить в своих настройках IE.

0 голосов
/ 20 февраля 2009

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

В конце концов, браузер не знает, что вы не зло. См. RFC 3514 для аналогичной идеи.

...