Предотвратить закрытие или удаление веб-страницы из - PullRequest
0 голосов
/ 07 ноября 2011

Нет, я не пытаюсь сделать раздражающее всплывающее окно.У меня есть простая веб-страница, которая представляет собой веб-элемент управления для инструмента SOA, который позволит нашим клиентам получать мобильный доступ к системам, которые мы размещаем в их местах.Если пользователь закрывает веб-страницу без использования кнопки «Отключить», которая закрывает коммуникационный туннель на стороне службы до закрытия самого окна, система остается активной до истечения времени ожидания службы.Это может звучать не ужасно, но тот же коммуникационный туннель используется внутренним персоналом в ситуациях с высоким приоритетом, и если они не могут получить к нему доступ, поскольку веб-служба клиента связывает его, это очень плохо.

Итак, я хочу запретить пользователю переходить со страницы или закрывать вкладку или экземпляр браузера любым другим способом, кроме нажатия «Отключить».Я уверен, что это возможно, мне просто нужно подтолкнуть в правильном направлении.Решение должно быть максимально независимым от браузера, особенно в отношении мобильных браузеров.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

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

См. скрипту, используя jQuery: http://jsfiddle.net/maniator/qpK7Y/
См. скрипту с чистым JavaScript: http://jsfiddle.net/maniator/qpK7Y/10/

0 голосов
/ 07 ноября 2011

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

Объявление глобальной переменной:

var childWindow;

Назначение переменной объекту окна

childWindow = window.open("...", "...");
if (childWindow){
    childWindow.focus();
}

Чтобы принудительно сфокусироваться на дочернем окне, используйте событие onfocus для родителя:

focusChildWindow = function(){
    if (childWindow != null){
        childWindow.focus();
    }
}

<body onfocus="focusChildWindow();" ...>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...