Newsgroup: it.comp.lang.javascript
Titolo: Aprire una finestra una sola volta

Un salutone a tutto il NG...
Vengo subito al mio problema:
vorrei far aprire una finestra indipendente all'apertura della mia home
page, solo che vorrei che questo accadesse una sola volta durante la
navigazione sul mio sito, per evitare di stressare il visitatore.
Praticamente se lui visita un'altra pagina e poi torna alla home, la
finestra non si apre.
Detto questo però, mi piacerebbe anche che se lo stesso visitatore tornasse
nel mio sito dopo magari 10 o 15 minuti, la finestra si aprisse nuovamente,
ma sempre 1 volta durante la sua visita.
ho fatto confusione?
hehe spero di no.
Ringrazio chi mi saprà aiutare.
PS: o solo 3 ore per poter vedere le vostre risposte perchè dopo vado via
per 15  giorni, fate i bravi!! e buon divertimento!
Mandex

Mi spiace ma mi sa che vedrai questo post al ritorno dalle tue vacanze.
ecco comunque lo script:
Le cose da modificare sono:
* //cookie expiration --> il calcolo e' in millisecondi quindi adattalo
alle tue esigenze.
* function popup() cambia il nome della pagina che vuoi sia caricata
nella finestra.
* window.onunload=DisplayInfo //cambialo in window.onload perche' si
apra all'inizio della pagina
Spero che sia quello che ti serve!
Cally Penzucci
---------------
Invia una mail vuota a
mailto:
arti...@sendfree.com
?Subject=newsgroup
per ricevere GRATUITAMENTE l'articolo di questa settimana. Parliamo di
come misurare il successo del tuo sito.
---------------
<SCRIPT LANGUAGE="JavaScript">
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DisplayInfo() {
var expdate = new Date();
var visit;
//cookie expiration
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
if(!(visit = GetCookie("visit")))
visit = 0;
visit++;
SetCookie("visit", visit, expdate, "/", null, false);
var message;
if(visit == 1)
popup()
}
function ResetCounts() {
var expdate = new Date();
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
visit = 0;
SetCookie("visit", visit, expdate , "/", null, false);
}
function popup(){
window.open('popup.shtml','win1','width=600,height=430,resizable')
}
//ResetCounts()
window.onunload=DisplayInfo
</script>
--
http://www.PeB-WEB.com
FREE newsletter, articles and tips about webdesigning, promotion and sea
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

Quando crei un nuova finestra prova ad usare un'handler:
if(handler == null)
    var handler = window.open(ecc. ecc.)
Questo dovrebbe impedire di creare una nuova finestra se handler esiste già.
---
the fly on the net
webmaster di "the devil inside"
http://members.tripod.com/netfly
e-mail:
net...@netbusiness.it


--


puoi perfavore dare un url dove leggermi qualcosa?
L'handler non è altro che una variabile che si riferisce alla nuova finestra
aperta, tramite la quale è possibile "maneggiare" (handler appunto) la
finestra stessa.
Tramite l'handler (il nome che ho usato è solo per esempio, la var handler
la puoi chiamare anche pippo o pluto) puoi anche chiudere la finestra -
handler.close() - e usare tutti gli elementi in essa come fai con la
finestra principale.
Quello di verificare l'esistenza dell'handler per impedire di aprire altre
finestre è solo uno degli usi possibili.
---
the fly on the net
