Вы ничего не можете сделать на unload
.Когда-то было разрешено больше, но плохие сайты использовали для захвата и запутывания пользователя, поэтому это было заблокировано.
Единственное взаимодействие, которое вы можете получить, - это onbeforeunload
.И вы также не можете достоверно запросить сохранение здесь ... как правило, вы не можете обойти навигацию, отправив форму напрямую.Вы можете попробовать опубликовать запрос на сохранение, используя XMLHttpRequest
, но нет никакой гарантии, что он достигнет сервера до того, как страница уйдет.
Так что все, что вы можете разумно сделать, это предупредить пользователя о несохраненных данных, запросивих отменить навигацию и сохранить сами данные:
window.onbeforeunload= function() {
if (album.updated)
return (
'You have unsaved changes to this album. Are you sure you wish '+
'to leave without saving?'
);
};