У нас есть административный портал, на котором наши преподаватели постоянно забывают загрузить свои последние инструкции в формате PDF перед выходом из системы и / или закрытием окна браузера. Я посмотрел вокруг, но не могу найти то, что я ищу.
Я хочу достичь следующих целей:
Цель 1
Прежде чем пользователь сможет закрыть окно браузера, ему будет предложено "Вы не забыли загрузить свою форму?" с двумя вариантами, да / нет. Если да, закройте, если нет, вернитесь на страницу.
Цель 2
Прежде чем пользователь сможет нажать кнопку «Выйти», ему будет предложено то же, что и выше.
Мой первый проход по самому базовому коду (который не работает при закрытии браузера):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function init() {
if (window.addEventListener) {
window.addEventListener("beforeunload", unloadMess, false);
} else if (window.onbeforeunload) {
window.onbeforeunload = unloadMess;
};
}
function unloadMess() {
var User_Message = "[Your user message here]"
return User_Message;
}
</script>
</head>
<body onload="init();">
hello this is my site
</body>
</html>
РЕДАКТИРОВАТЬ - НОВЫЕ ПРОБЛЕМЫ
Решение, представленное ниже, работает, но также имеет свои проблемы:
Когда пользователь нажимает на ссылку, чтобы фактически загрузить формы, страница думает, что они пытаются уйти, и, в свою очередь, сообщает им сообщение об ошибке! Кроме того - я хотел бы, чтобы произошло то или иное событие, но не обязательно оба. То есть Они нажимают кнопку «Выйти», и им представляется событие OnClick, ТОГДА приглашение браузера. Есть идеи?