PopUp nur 1x Pro Besucher Aufrufen
LazTaner
- javascript
Hallo, wenn jemand meine Seite besucht, öffnet sich in einer Seite vom Frame ein PopUp. (siehe YaMuK.de)
Ist es möglich, dass sich dieser Popup pro Besucher nur einmal öffnet, so dass beim Aktualisieren dieser Fenster nicht mehr erscheint?
Mein jetziger Code:
<script language="javascript" type="text/javascript">
<!--
var win=null;
function U1078518175(){
myleft=100;
mytop=100;
settings="width=310,height=260,top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,dependent=no";
win=window.open("sponsor/start.htm","mypopup",settings);
win.focus();
}
onerror = stopError;
function stopError(){
return false;
}
// -->
</script>
<body onLoad="U1078518175();">
Grüße
Hallo,
mach dich mal über Cookies schlau.
gruss
Geht das nicht ohne Cookies?
Hallo,
dann mach dir Gedanken wie du die einzelnen User identifizieren kannst.
gruss
ohje,
mit Cookies kenne ich micht garnicht aus. Muss mal schauen ob ich das hinkriege
Hallo
ohje,
mit Cookies kenne ich micht garnicht aus. Muss mal schauen ob ich das hinkriege
Ist so schwer nicht. Hier findest du Infos: http://selfhtml.teamone.de/javascript/objekte/document.htm#cookie
Gruss,
Daniel
Hi,
Ist so schwer nicht. Hier findest du Infos: http://selfhtml.teamone.de/javascript/objekte/document.htm#cookie
Nun ja, Schwierigkeiten werden Unerfahrene beim _Auslesen_ bekommen, da _alle_ Cookies (einer domain) in _einen_ Semikolonseparierten String geschrieben werden, der dann mit den ueblichen Methoden der Stringbearbeitung aufgedroeselt werden muss.
Dafüer bietet sich etwa sowas an:
function getCookie(name) {
var dc = document.cookie;
if(dc.indexOf(name + "=") != -1){
var anf = dc.indexOf(name) + name.length + 1;
var ende = (dc.indexOf(";", anf) != -1)? dc.indexOf(";", anf) : dc.length;
return unescape(dc.substring(anf,ende));
}
else return null;
}
diese Funktion gibt bei Uebergabe des Namens den Wert zurueck.
Btw: die Manipulation von window.name zur Weitergabe von Daten ist afaik nicht sehr zuverlaessig, da einige IE Versionen da nicht mitspielen.
Gruesse Joachim
Hi,
Nun ja, Schwierigkeiten werden Unerfahrene beim _Auslesen_ bekommen,
Eher beim Speichern, da das Cookie-Management des Browsers dazwischenfunken kann (Stichwort u.a. Datenschutz & P3P).
da _alle_ Cookies (einer domain) in _einen_ Semikolonseparierten String geschrieben werden,
Wie kommst Du darauf? Man *sollte* es so machen (um Platz zu sparen), Pflicht ist es nicht.
Btw: die Manipulation von window.name zur Weitergabe von Daten ist afaik nicht sehr zuverlaessig, da einige IE Versionen da nicht mitspielen.
Ist mir neu. Kannst Du da etwas konkretes oder eine Quelle nennen?
Gruß, Cybaer
Hi,
Nun ja, Schwierigkeiten werden Unerfahrene beim _Auslesen_ bekommen,
Eher beim Speichern, da das Cookie-Management des Browsers dazwischenfunken kann (Stichwort u.a. Datenschutz & P3P).
Das ist ein generelles Cookie Problem. Im Gegensatz zu Serverseitigen Cookies kann man bei aber bei JS-Cookies den Erfolg sofort pruefen. Von daher kann ich Deinen Einwand nicht nachvollziehen.
da _alle_ Cookies (einer domain) in _einen_ Semikolonseparierten String geschrieben werden,
Wie kommst Du darauf? Man *sollte* es so machen (um Platz zu sparen), Pflicht ist es nicht.
document.cookie = "lala=foo";
document.cookie = "buh=bah";
ergibt bei mir: alert(document.cookie);
(lala=foo;buh=bah)
Aber Du kennst sicher einen anderen Weg?
Btw: die Manipulation von window.name zur Weitergabe von Daten ist afaik nicht sehr zuverlaessig, da einige IE Versionen da nicht mitspielen.
Ist mir neu. Kannst Du da etwas konkretes oder eine Quelle nennen?
Quelle ist dcljs und eigene tests, ist aber schon eine Weile her, afaik ging es um IE 5.5. Genauer weiss ich es nicht mehr, aber ich habe dann von dieser Technik die Finger gelassen.
Gruesse Joachim
Hi,
Aber Du kennst sicher einen anderen Weg?
(schluck) Das letzte Mal, daß ich mit JS Cookies gesetzt habe, ist schon ein wenig her. =:-o Seitdem Cookie-Manager und Cookie-Abschalten en vogue sind (von P3P mal ganz zu schweigen), verzichte ich auf Cookies, wo es nur eben geht ...
... und nehme window.name. :)
Aber ich meine schon mich daran zu erinnern, daß ich mehrere Cookies mit eigenen Namen schreiben und so auch wieder auslesen konnte (zumal der Browser die Einträge ja ggf. auch getrennt verwaltet.
Aber OK, ich weiß nicht, wie ich meine Cookie-Library geschrieben habe (war mein allererstes JavaScript vor 9 Jahren :-)). Im Zweifel haben die nur die "Drecksarbeit" für mich erledigt - na ja, deswegen schreibe ich ja auch meine Funktionen ... ;-)
... die ich mal ausgraben werde. ;)
Quelle ist dcljs
Also nur Beiträge in der Newsgruppe, nicht in der FAQ?
und eigene tests, ist aber schon eine Weile her, afaik ging es um IE 5.5.
Hmm, den hatte ich lange Zeit als IE-Browser auf meinem Hauptrechner und da habe ich keine Probleme bemerkt (und ich nutze window.name ziemlich massiv - so massiv, daß ich bereits an einer Library zur Variablenverwaltung dafür schreibe).
Genauer weiss ich es nicht mehr, aber ich habe dann von dieser Technik die Finger gelassen.
Danke für den Tip - werde mal googeln ... :-)
Gruß, Cybaer
Hi,
da _alle_ Cookies (einer domain) in _einen_ Semikolonseparierten String geschrieben werden,
Wie kommst Du darauf? Man *sollte* es so machen (um Platz zu sparen), Pflicht ist es nicht.
Meinem Alzheimer-Hirn ist mittlerweile aber eingefallen, *warum* man mehrere Cookies nicht einzeln, sondern zusammengefaßt zu einem String schreiben sollte: Damit der Surfer, so er jeden Cookie-Wunsch manuell erlauben muß, nicht jedesmal, sondern nur ein einziges Mal "belästigt" wird ... =;-)
Gruß, Cybaer
Hi,
Btw: die Manipulation von window.name zur Weitergabe von Daten ist afaik nicht sehr zuverlaessig, da einige IE Versionen da nicht mitspielen.
Ist mir neu. Kannst Du da etwas konkretes oder eine Quelle nennen?
Erst gab es den Feature-Artikel: http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm
Dann kam aber raus, dass die Methode im IE 5.5 nur dann funktioniert, wenn das Fenster vorher noch keinen Namen hatte. Wenn doch, kann der zwar geändert werden, wird aber beim Entladen der Seite wieder auf seinen alten Wert zurückgesetzt: http://groups.google.com/groups?threadm=mfbt09.381.ln%40pinguin.salesianer.de
Pro Fenster kann also höchstens ein Wert weitergegeben werden. Etwas seltsam fand ich, dass der Autor seinen Feature-Artikel nicht überarbeitet hat. Ich hatte mit mehreren IE 5.5 (bis SP1) getestet und alle hatten diesen Bug. Ob es dann in SP2 geändert wurde, weiß ich allerdings nicht.
Grüße, Stefan
Hi,
Dann kam aber raus, dass die Methode im IE 5.5 nur dann funktioniert, wenn das Fenster vorher noch keinen Namen hatte.
Ah, deswegen bin ich nie drüber gestolpert: Ich übergebe nur Variablen über WN, wenn das Fenster keinen Namen hat. :) Damit bleibt diese Möglichkeit der Variablenübergabe natürlich mein Favorit ... ;-)
Ist aber trotzdem gut zu wissen, denn in meine WN-Variablenverwaltung wollte ich auch eben diese Möglichkeit berücksichtigen (als Window hat bereits einen Namen und es sollen trotzdem Variable übergeben werden). Da kann ich mir dann gleich was neues überlegen. ;) Denn der IE 6 stolpert ebenfalls noch drüber. :-(
... und besten Dank für den Link! :-))
Gruß, Cybaer
Hi.
Geht das nicht ohne Cookies?
Jaein.
Also mit window.name kannst du den User solange er im selben Browserfenster arbeitet wiedererkennen.
Sollte das Fenster allerdings geschlossen werden geht das nicht mehr.
Reicht dir das aus ist hier ein Link:
http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm
Solltest du noch Fragen haben frag.
Ich hoffe ich konnte helfen, H²O