2015-11-01 6 views
2

У нас есть продукт для продажи, который работает в браузере (в частности, в режиме хромированного киоска). Мы хотим, чтобы пользователь не мог закрыть окно без номера штыря. В режиме киоска, конечно, единственный способ выйти - либо закончить процесс, либо использовать alt + f4, поэтому прямо сейчас наше решение не помогает клавиатурам подключаться к любым POS-терминалам. Просто надеюсь, что может быть другое решение.Предотвращение закрытия окна

Редактировать: Также у меня есть полный доступ к корню на каждом терминале, над которым работает веб-приложение. Таким образом, можно добавить любые хром-флаги и т. Д.

Как уже упоминалось ранее, я спрашивал, как я могу предотвратить закрытие окна, не просто перехватывая событие разгрузки и запрашивая подтверждение.

+1

Возможный дубликат [Intercept страница выхода события] (http://stackoverflow.com/questions/1704533/intercept- page-exit-event) –

+0

@OlaviSau это не дубликаты. Я искал способ предотвратить закрытие вообще, вместо того, чтобы просить пользователя подтвердить, поскольку я думал, что это будет возможно, поскольку у меня есть root-доступ ко всем машинам, использующим эту киоск-систему. – PC3TJ

ответ

6

Невозможно полностью остановить его, лучшее, что вы можете сделать, это подтвердить увольнение.

window.onbeforeunload = function (e) { 
    var message = "Your confirmation message goes here.", 
    e = e || window.event; 
    // For IE and Firefox 
    if (e) { 
    e.returnValue = message; 
    } 

    // For Safari 
    return message; 
}; 

Ответ от Intercept page exit event

О Alt + f4 относятся к этому: Disable ALT+F4, yes I know it isn't recommended

+0

. Я понял, что это будет ответ. Вы случайно знаете, будет ли выполнено все внутри функции, запущенной window.onbeforeunload, перед закрытием окна. Например, вставьте все несохраненные данные и ключи сеанса в файл cookie. – PC3TJ

+0

Yeap весь код будет выполнен, но если пользователь хочет уйти, вы не сможете получить от него никакой дополнительной информации. –

-1

Вы можете предотвратить навигацию с помощью window.onbeforeunload до ввода штыря.

+0

window.onbeforeunload() позволяет вам спрашивать пользователя, если они хотят уйти. Если они скажут «да», то я не могу помешать этому – PC3TJ

Смежные вопросы