Элемент управления WebBrowser: как подавить сообщение: вы хотите закрыть это окно - PullRequest
3 голосов
/ 21 сентября 2009

Я новичок в управлении WebBrowser. В текущем проекте мы используем элемент управления WebBrowser для интеграции с существующим проектом. Все всплывающие окна отображаются в новой форме окна. Когда во всплывающем окне вызывается «javascript window: close», экземпляр IE всегда запрашивает: хотите ли вы закрыть это окно. Мы используем WndProce, чтобы проверить WM_Destroy, чтобы уведомить родительскую форму, т. Е. Собирается закрыть, что работает нормально. Единственное, что нам не нравится элемент управления, это то, что появляется сообщение «Вы хотите закрыть это окно». Есть ли способ подавить сообщение?

Любое предложение будет высоко оценено. Спасибо.

Ответы [ 2 ]

5 голосов
/ 21 сентября 2009

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

function closeWindow()
{
    window.opener = self;
    window.close();
}

Или:

function closeWindow()
{
    window.open('', '_self');
    window.close();
}
2 голосов
/ 21 сентября 2009

Это функция безопасности IE. Идея состоит в том, чтобы запретить потенциально вредоносным скриптам закрывать окно, которое пользователь не хотел закрывать. Исключением является случай, если окно было открыто скриптом в том же домене, что указывает на то, что это веб-приложение «владеет» окном, поэтому оно может также закрыть его. В этом случае вы не получите предупреждение.

...