Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 821
  • Last Modified:

Confirm close of browser window. (IE5)

I only need an IE5 solution to this if it makes it easier. (love homogenous intranet environments)

I'd like a script similiar to the following:

--start-code--

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function window_onbeforeunload() {
     return false;

}

//-->
</SCRIPT>
</HEAD>
<BODY LANGUAGE=javascript onbeforeunload="return window_onbeforeunload()">

<P>&nbsp;</P>

</BODY>
</HTML>


--end-code--


What this code attempts to do, is ask a user to confirm yes/no before they close the browser window. But the message is a little ugly.

The dialog is:
"Are you sure you want to navigate away from this page?

false

Press OK to Continue or Cancel to stay on the current page"


Now, what I am trying to do, is ask the user if they want to save their changes (to an HTML form) before closing the window. But I need a cleaner dialog than the one I am getting. (It is just going to confuse people)

Ideally the logic would be this...

User clicks to close window.
Dialog comes up asking user if they'd like to save changes.
If user clicks no, allow window to close.
If user clicks yes, cancel the window_close and call function saveChanges();

Can it be done? I don't mind using an HTA (HTML application) if it allows me to do it.
Cheers,
Dave.
0
davebeer
Asked:
davebeer
  • 3
1 Solution
 
CJ_SCommented:
Using HTA and in the frameset or body:

onbeforeunload="if(confirm('would you like to save first?')){ saveChanges(); return false; }"
0
 
davebeerAuthor Commented:
Sorry, I'd thought I'd already responded to this.

Your code fragment works for the case of not wanting to save any changes.
But if the user selects 'Yes', the SaveChanges function runs, and then the user sees the message:

"Are you sure you want to navigate away from this page?

false

Press OK to Continue or Cancel to stay on the current page"
...


It is that message that I am trying to prevent.
0
 
davebeerAuthor Commented:
Actually.. I sorted it. I just needed to change the onbeforeunload event to onunload... It seems to do the trick. :-)
0
 
impeezaCommented:
Hello Dave, i didn't understand what do you do to avoid the message?
0
 
davebeerAuthor Commented:
Well, it was 7 years ago. :-)
Think I did what it says on the tin.

put CJ's code into the onunload event. That way, it fired when the page was unloading. From what I remember it worked well.
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now