Warum geht diese Code nicht?

Cinderella1982

Grünschnabel
Abend,

hab hier ein Code, der soll prüfen ob der User ein PopUp Blocker drauf hat oder nicht, wenn ja dann soll er eine Meldung bringen, wenn nein, dann eben nichts.

Hier mal der Code:

HTML:
<script type="text/javascript">
  // Popup-Blocker
  if (document.cookie && document.cookie.search(/popupblocker=true/)!=-1 )
  { // schon gesehen
  }
  else
  { // 1.Besuch
    popblock_win = window.open('/popup/detect_popblock.htm','popup_blockers_suck','menubar=0,toolbar=0,height=1,width=1');
    if (!popblock_win)
    {
      alert('Hallo,\nanscheinend verwendest Du einen Popup Blocker.\nUm alle Funktionen von yoolie.de / yooliety nutzen zu koennen solltest Du Deinen Popup Blocker für diese Seiten deaktivieren.\nSaemtliche Popups dienen nur der Kommunikation mit anderen Usern, weisen auf yoolie.de / yooliety eigene Veranstaltungen hin oder dienen zur Zusendung von V.I.P. Karten.\nDein yoolie.de / yooliety Team');
      var ablauf = new Date();
      ablauf.setTime( ablauf.getTime()+(4*60*60*1000) ); // 4 Stunden
      document.cookie = "popupblocker=true; expires=" + ablauf.toGMTString();
    }
  }
</script>

Gruß
 
Also ich kann keine Fehler in deinem Script entdecken - funktioniert bei mir auch.
Wo genau siehst du denn bei dir den Fehler? Zur sicherheit würde ich vorher mal die Variable zum PopUp mit false belegen, weil manche PopUp-Blocker (=PUBs) das nicht automatisch als return-Wert zurückgeben, wenn ein PopUp gelockt wurde

Rein von der Logik her finde ich es aber ein wenig dämlich einem User die Meldung auszugeben, er soll seinen PUB ausmachen, ihn gleichzeitig damit aber für 4 Stunden per Cookie als PUB-User abzustempeln, denn nichtmal die nette Oma von nebenan braucht vier Stunden um ihren PUB auszumachen.

Deswegen würde ich's einfach nur so machen:
Code:
var popblock_win = false, popblock_win = window.open('','','');
  
  if (popblock_win)
  	popblock_win.close();
  else
  	alert(
  		'Hallo,\nanscheinend verwendest Du einen Popup Blocker.\n'+
  		'Um alle Funktionen von yoolie.de / yooliety nutzen zu koennen'+
  		'solltest Du Deinen Popup Blocker für diese Seiten deaktivieren.\n'+
  		'Saemtliche Popups dienen nur der Kommunikation mit anderen Usern, '+
  		'weisen auf yoolie.de / yooliety eigene Veranstaltungen hin oder '+
  		'dienen zur Zusendung von V.I.P. Karten.\n'+
  		'Dein yoolie.de / yooliety Team'
  	);
 
Zuletzt bearbeitet:
Hallo,

hmm hab mal noch eine Frage. In dem Beispiel wird ja ein PopUp aufgemacht und wenn das nicht geht, dann kommt gleich eine Meldung also die von JAvaScript. Währe es aber auch möglich, dass man das Ohne dem PopUp Nachricht macht.

Damit meine ich genau:

Ich wurde das gerne so machen, dass einfach überprüft wird, ob ein PopUpBlocker drauf eingeschalten ist, wenn JA dann soll bitte die JavaScript Meldung kommen, wenn keiner drauf bzw. eingeschalten ist, dann soll eben nichts kommen.

Könnte man das denn so machen? Wenn ja wie müsste dann der Code aussehen?

Gruß
 
Nein, um zu sehen, ob ein PopUp-Blocker installiert ist muss man schon versuchen ein PopUp zu öffnen. Es wird ja anschließend gleich wieder geschlossen, also bekommt der Benutzer davon so gut wie garnichts mit.
 
Habe ich doch schon in mein Script eingebaut. Die Zeile wo etwas von close() steht...

Damit es funktioniert muss es eine Referenz zu dem PopUp geben. In meinem Beispiel ist das popblock_win. Du kannst das script so wie ich's gepostet habe verwenden.
 
hab noch eine Frage. In dem Beispiel von dir. Was für eine Datei geht da auf? Du hast ja gesagt die _win aber hmm was ist das denn? Ist das eine html oder php Seite oder kann ich das nennen wie ich das will und wo muss die Datei liegen
 
Achso, hab das jetzt mal so gemacht und es geht. Aber eines währe noch schön, wenn man das noch machen könnte. Und zwar kann man nach dem Hallo, noch einen weiteren Absatz rein macht oder geht das nicht? Also damit meine ich, dass da einfach mehr Platz dazwischen ist.
 
Einen "Absatz" kannst du dort mit \n erzeugen....das ist das Steuerzeichen für einen Zeilenumbruch.
wenn du mehrere davon hintereinander verwendest, hast du mehrere Absätze.
 
Zurück