Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Pop up Fenster soll nur einmal aufgehen
Frage
Hallo,
wenn ich die Website www.eventsharing.com öffne, geht wie gewünscht ein pop up Fenster auf, das ich schließen kann. Das ist OK.
Wenn ich dann auf z.B. den Link "Idee und Konzept" klicke und auf den Link "zurück", dann geht es wieder auf die Homepage und das pop up Fenster öffnet sich erneut. Das ist auch der Fall, wenn ich oben auf den Button "Home" klicke..
Ich möchte aber nicht, dass sich jedes Mal das Pop up Fenster erneut öffnet. Was muß ich tun, damit das funktioniert?
Antwort 1 von katy
Hallo woholle,
das wird jetzt etwas kompliziert. Du musst dir ja irgendwie merken, dass das PopUp schon mal geöffnet wurde.
Es gibt soweit ich das sehe 2 Möglichkeiten.
Du könntest an die Links von der Unterseite zur Home-Seite einen Parameter anfügen in der Art:
und vorm Öffnen des PopUps immer fragen, ob der Parameter nicht gesetzt ist:
Oder du nutzt ein Cookie.
Allerdings werden Cookies fast noch mehr geblockt als PopUps.
Ich hoffe ich konnte dir einen Lösungsansatz geben
katy
das wird jetzt etwas kompliziert. Du musst dir ja irgendwie merken, dass das PopUp schon mal geöffnet wurde.
Es gibt soweit ich das sehe 2 Möglichkeiten.
Du könntest an die Links von der Unterseite zur Home-Seite einen Parameter anfügen in der Art:
<a href="index.htm?popup=kein">Home</a>
und vorm Öffnen des PopUps immer fragen, ob der Parameter nicht gesetzt ist:
if (location.search.indexOf("popup=kein")<0) ... öffne PopUp
Oder du nutzt ein Cookie.
Allerdings werden Cookies fast noch mehr geblockt als PopUps.
Ich hoffe ich konnte dir einen Lösungsansatz geben
katy
Antwort 2 von Solo
Hi, das geht mit javascript und einem Cookie.
Dieses Script als popup.js abspeichern.
In der HTML-Seite von der das Popup aufgerufen werden soll im Head mit
das Script aufrufen,
und im Body der Seite
einfügen.
* #### Anfang #### */
/* ---- Mittels eines erstellten Cookies wird bewirkt, dass sich ein PopUp-Fenster nur beim ersten Seitenaufruf öffnet. Nur die ersten 3 Variablen anpassen! ---- */
var expDays = 1; // Lebensdauer des Cookies in Tagen
var page = "./../popup.htm"; // Seite, die aufgerufen werden soll
var windowprops = "width=270,height=240,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes"; // Fenstereigenschaften
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 = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? 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 DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);
window.open(page, "", windowprops);
}
else {
count++;
SetCookie('count', count, exp);
}
}
/* #### Ende #### */
Dieses Script als popup.js abspeichern.
In der HTML-Seite von der das Popup aufgerufen werden soll im Head mit
<script src="popup.js" type="text/javascript"></script>
das Script aufrufen,
und im Body der Seite
<body onload="checkCount()" ... >
einfügen.
Antwort 3 von katy
Hallo Solo,
sorry, wenn ich deine Antwort kritisiere, aber findest du dein Script nicht auch ganz schön überdimensioniert für ein klitzekleines Cookie bei einem PopUp?
Die ganzen Set- und GetCookie-Funktionen sind doch nur dann sinnvoll, wenn du Flexibilität beim Cookie-Setzen brauchst, also Cookies zu verschiedenen Zwecken setzt.
Das dürfte hier aber kaum der Fall sein.
Sicherlich kannst du für woholle die paar wesentlichen Zeilen extrahieren und das Skript auf einen Bruchteil der Länge kürzen.
katy
sorry, wenn ich deine Antwort kritisiere, aber findest du dein Script nicht auch ganz schön überdimensioniert für ein klitzekleines Cookie bei einem PopUp?
Die ganzen Set- und GetCookie-Funktionen sind doch nur dann sinnvoll, wenn du Flexibilität beim Cookie-Setzen brauchst, also Cookies zu verschiedenen Zwecken setzt.
Das dürfte hier aber kaum der Fall sein.
Sicherlich kannst du für woholle die paar wesentlichen Zeilen extrahieren und das Skript auf einen Bruchteil der Länge kürzen.
katy
Antwort 4 von KJG17
Moin woholle,
wozu überhaupt dieses Popup?
Bei den meisten Leuten wird es vermutlich ohnehin geblockt.
Auf der Startseite findet man die im Popup angezeigten Informationen ebenso unter 'Aktuell', nach Aufruf von 'Destinationen und Angebote' unter 'Exklusive Vorträge'.
Wenn du das als 'Aktuelle Angebote' etwas mehr optisch herausheben würdest, könntest du aus meiner Sicht auf das Popup verzichten.
Als einzige Unterseite wird 'Über uns' als Popup geladen, warum dieser Stilbruch? Der zudem potentiellen Kunden mit Popup-Blocker noch zusätzliche Aktionen abverlangt. Als ob du nicht wirklich was 'Über uns' erzählen möchtest.
Gruß
Kalle
wozu überhaupt dieses Popup?
Bei den meisten Leuten wird es vermutlich ohnehin geblockt.
Auf der Startseite findet man die im Popup angezeigten Informationen ebenso unter 'Aktuell', nach Aufruf von 'Destinationen und Angebote' unter 'Exklusive Vorträge'.
Wenn du das als 'Aktuelle Angebote' etwas mehr optisch herausheben würdest, könntest du aus meiner Sicht auf das Popup verzichten.
Als einzige Unterseite wird 'Über uns' als Popup geladen, warum dieser Stilbruch? Der zudem potentiellen Kunden mit Popup-Blocker noch zusätzliche Aktionen abverlangt. Als ob du nicht wirklich was 'Über uns' erzählen möchtest.
Gruß
Kalle
Antwort 5 von woholle
Hallo,
danke für Eure Hilfestellungen und Meinungen.
Auf den nenner gebracht: Wir werden aus den genannten Gründen auf das Pop up verzichten.
Website wurde bereits aktualisiert.
Somit ist das Thema beendet. Danke.
danke für Eure Hilfestellungen und Meinungen.
Auf den nenner gebracht: Wir werden aus den genannten Gründen auf das Pop up verzichten.
Website wurde bereits aktualisiert.
Somit ist das Thema beendet. Danke.