Solved

Show alert when back button is pressed

Posted on 2006-11-22
9
3,270 Views
Last Modified: 2011-10-03
Hi all,

how can I show a message box when the back button is pressed?

Thanks
0
Comment
Question by:zattz
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2
9 Comments
 
LVL 3

Expert Comment

by:viveksg
ID: 18001013
<script>
 window.close = function(){alert("your message");}
</script>
0
 
LVL 6

Expert Comment

by:aescnt
ID: 18001050
Don't you mean window.onunload?
Although, even clicking a link or going forward will make the event fire.
0
 

Author Comment

by:zattz
ID: 18001057
Dosn't work
0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
LVL 6

Accepted Solution

by:
aescnt earned 250 total points
ID: 18001073
<html>
<head>
<script type="text/javascript">
window.onunload = function() { alert("You navigated out of the page."); }
</script>
</head>
<body>Try hitting the back button or something.</body>
</html>

IE and Firefox tested.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 18001339
> .. show a message box when the back button is pressed?
impossible (except patching the browser)
0
 
LVL 75

Assisted Solution

by:Michel Plungjan
Michel Plungjan earned 250 total points
ID: 18001352
As you said yourself:
"Try hitting the back button or something" where "something" is also "clicking a link or going forward"

This is such a FAQ.

zattz, please tell us why you need this functionality and perhaps we can give you a solution that does no require this alert.

For example to not HAVE a page to go back to, you can have a link on the page before:
<a href="page2.html" onClick="location.replace(this.href); return false">Replace this page with page 2</a>

Also you can do some things with framesets to avoid the alert to be triggered when moving back, and you can use this to stop links from triggering:

<body onLoad="leaving=false" onUnload="if (leaving) alert('Sorry to see you go')">
<a href="http://www.google.com/search?q=back+button+javascript" onClick="leaving=true">Leave for Google</a>
<a href="page2.html" >Staying on the site</a>
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 18002598
window.onunload() does not work if you navigate with the browser's back button from http://..../this#that to http://..../this

Hence this is not a working answer if you read the question verbatim.
Just my 2 pence ...
0
 
LVL 6

Expert Comment

by:aescnt
ID: 18002625
Hehe, yep... it's really not the fix for that. In fact, onunload is a very unreliable way to detect back navigations, I admit.
If you want to detect back navigations from this.htm#that to this.htm, I'd put a timer that checks window.location.hash -- I believe this method is being used by a few Flash-based websites to detect back button clicks.
0
 

Author Comment

by:zattz
ID: 18002652
Hmm..

that window.location.hash is interesting,

but anyway the onunload is good enough for the page I want it on.

thanks guys
0

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question