Confirm Navigation/Reload

اگر اهل شبکه‌های اجتماعی باشید بدون شک تا بحال پیامی اینچنینی را دیده‌اید، پیامی مبنی بر اینکه شما عملیات ذخیره نشده‌ای در این صفحه دارید، آیا مطمئن به خروج هستید؟!

در حالت کلی شاید بندرت در برنامه‌های خود نیاز به پیام‌هایی اینچنین داشته باشیم ولی با گذشت زمان روزبروز برنامه‌های تحت وب پیچیده‌تر می‌شوند و امکانات بسیاری به کاربران ارائه می‌دهند، گاه ممکن است کاربری ناخواسته صفحه را ببندد و تمامی اطاعات ذخیره نشده وی از میان برود، ساده‌ترین راه نمایش پیام‌های اینچنینی به کاربر است تا وی را از عواقب کار آگاه کند. (البته راه‌های دیگری همانند استاده از دیتابیس‌های سمت کاربر و خودکار اطلاعات در سمت کاربر یا سمت سرور نیز وجود دارد)

function goodbye(e) {
	if(!e) e = window.event;
	//e.cancelBubble is supported by IE - this will kill the bubbling process.
	e.cancelBubble = true;
	e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog

	//e.stopPropagation works in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
}
window.onbeforeunload=goodbye;

برای تست کد بالا دکمه زیر رو فشار دهید رو صفحه را ببندید