Newsgroup: it.comp.lang.javascript
Titolo: problema con javascript e popup

Salve,
ecco il mio problema.
Ho attivato un circuito di scambio traffico, dove è possibile utilizzare
varie forme di promozione, banners, popunder, popups ecc.. Il programma che
gestisce tutto è un php.
Il problema da risolvere si riferisce ai popunder/popup.
Dunque, ogni utente, per cominciare a ricevere traffico, deve aggiungere una
stringa di codice html nelle propria home page, o in qualsiasi altra pagina
del sito. Ogni volta che un suo utente
giunge in quella pagina, un javascript, richiamato dalla stringa di cui
sopra, lancia un popunder contenente la homepage di un altro sito iscritto
al circuito. Fino a qui' tutto regolare, il problema si verifica se, nel
codice html della pagina visualizzata nel popunder, che con molta
probabilità è la pagina utilizzata per lo scambio e quindi contiene a sua
volta la stringa html che richiama lo script java, si innesta, come
facilmente si riesce ad intuire, una reazione a catena, per cui vengono
lanciate una dietro l'altra una serie di popunder.
Ho provato a risolvere il problema, sostituendo il javascript orignale, con
uno diverso, che utilizza un cookie e impedisce l'apertura di nuove popups
per un periodo di tempo prestabilito. Con questo espediente, purtroppo, il
problema e' stato risolto solo a metà, in quanto, la reazione a catena non
si blocca, se non dopo il lancio della prima serie di popups, quindi il
problema principale resta irrisolto. Sono riuscito inoltre ad evitare
l'apertura di piu' finestre, semplicemente identificando la popup con un
nome univoco, ma le pagine si susseguono ugualmente, una  dopo l'altra,
nella stessa finestra.
La mia domanda è questa, e' possibile con un javascript dire al brovser che
dopo aver lanciato una prima volta la popup denominata ad esempio
"finestra1", non deve più aprire altre popup "finestra1" se non dopo un tot
di tempo?.
Ho provato a modificare lo script che allego in calce, ottenendo solo
risultati negativi,  ma sono consapevole che le mie conoscenze di javascript
sono limitatissime. Al momento ho rimesso il javascript originale, per dare,
a chiunque lo desidera, la possibilità di verificare il problema. Lo script
originale che lancia il popunder e' il seguente:
########################################################
var adexit = '';
window.open("<?php echo $url;?>").blur(); window.focus();
window.open=adexit;
########################################################
quello che ho provato a modificare è questo:
########################################################
once("window.open("<?php echo $url;?>")","test", "2 minuti");
window.opener=self
function once(command,id,interval){
var mul = interval.substring(0,interval.indexOf(" "));
mul = parseInt(mul);
interval = interval.substring(interval.lastIndexOf(" ")+1,interval.length);
if (interval == "secondi"){ e = 1000; }
else if (interval == "minuti"){ e = 60000; }
else if(interval == "ore"){ e = 3600000; }
else if (interval == "giorni"){ e = 86400000; }
e = e * mul;
var now = new Date();
var ex = new Date();
ex.setTime(now.getTime() + e);
if (!getCookie(id)){
eval(command);
setCookie(id,"1",ex);
}
}
function setCookie(name, value, expire){
document.cookie = name + "=" + escape(value) + ((expire ==null) ? "" : (";
expires=" + expire.toGMTString()));
}
function getCookie(Name){
var search = Name + "=";
if (document.cookie.length > 0){
offset = document.cookie.indexOf(search);
if (offset != -1){
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) {
end = document.cookie.length;
}
return unescape(document.cookie.substring(offset, end));
} else {
return "";
}
} else {
return "";
}
}
########################################################
Qualsiasi soluzione utile a risolvere il problema, sarà da me oltremodo
apprezzata ;)
Per verificare il problema in azione, basta aprire questa pagina:
http://www.biribiri.net
Grazie a tutti e buon lavoro.

Perché nell'open non passi un parametro (es. nopopup=1) e nelle pagine lo
apri solo se nopopup!=1 ?

 ha scritto nel messaggio
news:bn66eg$to4ss$1...@ID-147253.news.uni-berlin.de...


 window.open("<?php echo $url;?>").blur(); window.focus();
Qua hai svariate scelte...potresti lato server verificare la querystring: se
nopopup=1 NON scrivi la riga sopra, altrimenti la scrivi...
oppure lato server se la querystring contiene nopopup=1:
 -variabile php $nopopup=1;
 - scrivi una variabile javascript (non so nulla di php, la sparo: echo?
<?echo "var nopopup='$nopopup';"?> e la riga sopra la cambi con
if(nopopup!="1") window.open.....

 ha scritto nel messaggio
news:bn686q$tnuk1$1...@ID-147253.news.uni-berlin.de...


 window.open=adexit;
Questo non so cosa significhi

 ha scritto nel messaggio
news:bn81sr$tje89$1...@ID-147253.news.uni-berlin.de...
