// Τo αρχείο αυτό γίνεται include σχεδόν σε όλες τις σελίδες της εφαρμογής Ηλ Υποβολής. // // Λόγος είναι τα προβλήματα που παρουσιάστηκαν όταν οι χρήστες άνοιγαν δύο και τρία // παράθυρα, που στο καθένα επεξεργάζονταν διαφορετικά δελτία. Τα δελτία άρχισαν να // μπερδεύονται μεταξύ τους επειδή ο application server κρατούσε το ίδιο session id // για όλους τους ανοιχτούς browsers. Να σημειωθεί εδώ ότι το πρόβλημα δεν παρουσιαζόταν // όταν ο χρήστης άνοιγε τον καινούριο browser κάνοντας click/doubleclick στο deskop // του, αλλά μόνο όταν επέλεγε "file->new->window" ή πατούσε control-N. // // Τα παρακάτω functions καλούνται στο onload και unload κάθε σελίδας της εφαρμογής // και θέτουν/άρουν ένα cookie (με explicit χειρισμούς, και όχι βάσει του session obj) // ώστε να σιγουρέψουν ότι δεν θα έχουμε 2 παράθυρα ανοιχτά στο ίδιο session. // // Χρήση: Κάνετε include αυτό το js αρχείο στην σελίδα σας, και προσθέτετε το // απαραίτητο handling στο onload/unload event - πχ //
// // 20/4/2005 // Set initial values for variables needed // Name of the new window cookie var CookieName = "NewWindowCookie"; var today = new Date(); var zero_date = new Date(0,0,0); today.setTime(today.getTime() - zero_date.getTime()); // Set expiration time // Cookie will expire after 1000 * 60 * 20 = 20 mins var expirationDate = new Date(today.getTime() + (1000 * 60 * 60)); // Check for the existence of a new window. Alert user if he is // executing a new window. function checkNewWindow() { var cookieVal = getCookie(CookieName); if (cookieVal == '-1') // Cookie does not exist { // Create cookie createCookie(CookieName, '1', 'expires=' + expirationDate); } else if (cookieVal == '1') // Cookie exists. Possibly new window call. { alert('Σας παρακαλούμε θερμά να μην ανοίξετε δεύτερο παράθυρο με αυτόν τον τρόπο. Εάν για κάποιο λόγο θέλετε να δουλέψετε σε δύο browsers, επιλέξτε να ανοίξετε τον browser σας από το desktop ή το start menu. Ευχαριστούμε.'); // //