only , что вы можете сделать на событии onbeforeunload, спрашивать пользователя, хочет ли он сохранить ранее (это потому, что некоторые страницы могут открывать новое окно на onbeforeunload и спамить с ним)!
var saved = false;
window.onbeforeunload = function () {
if (!saved) return "If you leave the page now your changes won't be saved.";
}
Я думаю, что лучшим решением было бы сохранить измененные данные в куках, которые будут удалены при входе пользователя на страницу и сохранении данных
function getCookie(name) {
var a = document.cookie.split(';');
for(var i = 0; i < a.length; i++) {
var s = a[i];
while (s.charAt(0)==' ') s = s.substring(1,c.length);
if (s.indexOf((name + "=")) == 0) return s.substr((name + "=").length, s.length);
}
return null;
}
if (getCookie("save")) //save datas