Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

send a request before close window

Posted on 2000-04-20
6
Medium Priority
?
1,744 Views
Last Modified: 2008-03-06
I need to send a string to the server for verify the user logout while the user close the "browser window" in NS4+ or IE4+ (when they click the cross, not the button in the webpage).

here is my code:

<html>
<head><title>
</title>


<script language=Javascript>
function logout() {

var temp = new String("/servlet/MServlet?FID=808&pageid=5&SID=");
temp = temp + "<%= sc.getSessionID() %>" + "&LANGID=" + "<%= sc.getLanguageID() %>" + "&SEQID=" + "<%= sc.getSequenceID() %>";

if (confirm("Are you sure to logout ?")) {
      document.location.href = temp;
}
}

</script>

</head>

<body onUnload="return logout(this)">

asdffsadf

</body>
</html>

It works in IE4+ but not NS4+, I know it's hard to do it in NS4+. is there any way I can send the request logout string to the server when the user click the NS browser while close the window?
Any solution or answer I would appreciate.

thanks! :)

rider
0
Comment
Question by:StoRmRiD3r
[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
  • 2
  • 2
  • 2
6 Comments
 
LVL 22

Expert Comment

by:CJ_S
ID: 2733884
Well, the main problem here is that you can't prevent the user from logging out. At least not in the onunload event. The program will always be shut down no matter what...IE has an exception there.
The best thing you could possible do is to have a seperate button which will handle this close event.
I don't know for what kind of page it is, if it is for the intranet this'd be the best solution. For the internet you might want to wait for another answer from (probably mplungjan) another expert here.

0
 
LVL 22

Expert Comment

by:CJ_S
ID: 2733892
Or when the user doesn't want to log out that you open a new window with the same URL???
0
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 200 total points
ID: 2734384
It is not possible to detect the click on the cross unless you have your session open in a new window without location bar.

If so and assuming there are no links leading away from the page, try this:

Write a cookie with the userid and stuff.
Then use

<body onUnload="window.open('http://www.yourserver.com/servlet/MServlet?FID=808&pageid=5&SID=<%= sc.getSessionID() %>&LANGID=<%= sc.getLanguageID() %>&SEQID=<%= sc.getSequenceID() %>','newwin')">

and return a script with a <body onLoad="self.close()">

It is a good idea to have the url fully qualified since older Netscape 4s forget where they came from...

If you have links on the page leading to other pages where you need to stay logged on, you need more tests

Michel
0
Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 2734391
Sorry, forget the cookie if you send the complete url only if you do not want to have a long url write a cookie and use
<body onUnload="window.open('http://www.yourserver.com/servlet/MServlet','newwin')">

and have the servlet read the cookie


Michel
0
 

Author Comment

by:StoRmRiD3r
ID: 2735073
really thank you for your advices, CJ_S & Michel.

Michel,
the body onUnload then window.open is working on NS4+ & IE4+. thanks for your help.

CJ_S, I would give 20 pts for your comment. i will add a new question, the title is : "PTS for CJ_S".

thanks again, Expert. :)
0
 

Author Comment

by:StoRmRiD3r
ID: 2735079
Excellent! Expert. :)
0

Featured Post

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
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…

719 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