JavaScript Frage zu einmaligem Popup auf Seite

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.203
Hallo Leute, ich habe da mal ein spezielleres Thema das sich vermutlich mit jQuery gut lösen lassen könnte.
Es gibt ja diese Greybox Systeme, um Bilder hervor zu heben. Gibt es so etwas ähnliches auch, um beim laden einer Seite einen Text (News) anzeigen zu lassen??

Wenn also einer auf unsere Seite geht, soll er einmal beim Body Load so ein Popup bekommen, mit der Information das zum aktuellen Zeitpunkt telefonisch niemand erreichbar ist. Ein oder zwei Zeilen darunter soll dann noch ein handelsüblicher href hinterlegt sein, wodurch die Leute zum Kontaktformular und Impressum kommen... denn Mails werden immer beantwortet.

Allerdings ist das ganze damit verknüpft, dass es pro Besucher wirklich nur einmal auftauchen soll. Wie bekomme ich so etwas fertig gebaut??

Also dieses Popup soll auf jeder Seite auftauchen können, aber auf der gesamten Domain nur ein einziges mal pro Besucher auftauchen... ich will ja den Besucher nicht bei jedem Klick auf eine Unterseite erneut mit solch einer Information nerven.

Kann mir jemand sagen oder weiterhelfen, wie ich so etwas realisieren kann?
Gruß, Domi
 
Wenn du in jQuery fit bist, kannst du das selbst schreiben. Habe ich letztlich bevorzugt, da öfter mal Overlay-Libs mit einem jQuery-Update kaputt gingen und ewig nicht geupdated wurden. Ist kein Hexenwerk das selbst zu schreiben.

Ansonsten kannst du das nehmen.

Damit der User das nur einmal sieht, kannst du entweder Cookie oder Session nutzen und dir dort einfach merken, dass der User das bereits gesehen hat. Soll es über mehrere Sessions/Browser/etc. hinweg funktionieren, musst du das persistieren.
 
Naaa ja, schreib mal eine Lightbox (oder ähnliches) ohne jQ oder Mootools. Da biste aber ne Weile beschäftigt.
 
Ich bin auch kein Freund von sinnlosen libs, weswegen ich jQuery UI auch meide. jQuery selbst bringt aber nützliche Sachen mit, die einem cross-browser hassle ersparen. Auch den ganzen boilerplate Schnodder für fading und sliding möchte ich nicht selbst schreiben. Man muss in Produktivcode doch niemandem beweisen, dass man es könnte, sondern man muss kompakten, gut les- und wartbaren Code in kurzer Zeit liefern.
 
Zuletzt bearbeitet:
So, moin... hat ein wenig gedauert bis ich geantwortet habe, wollte erst mal ein wenig lesen und dann knobeln...
Code:
<script type="text/javascript">
 if($.cookie("info") == 'bestanden') {
  $(document).ready(function(){
   $("#test1").addClass("hide");
  });
 } else {
  $.cookie("info", 'bestanden');
 }
</script>
damit scheint es zu funktionieren. Die Box (das Popup) bekommt dann noch einen schließen Button und dann sollte es geklärt sein :)

Tumbleweed schrieb:
Soll es über mehrere Sessions/Browser/etc. hinweg funktionieren, musst du das persistieren.
Das ist eine Sache, die mich noch interessiert... wie löst man so etwas denn, vielleicht kann ich das ja mal für spätere Projekte gebrauchen.

Gruß, Domi
 
Ah.. Okay.. Ich vermute mal, dann mache ich in der Datenbank wenn sich ein User eingeloggt hat so etwas wie einen IP und System Abgleich, oder so etwas ähnliches um Browserübergreifend die Daten bestehen zu lassen :)
 
Domi83 schrieb:
Ah.. Okay.. Ich vermute mal, dann mache ich in der Datenbank wenn sich ein User eingeloggt hat so etwas wie einen IP und System Abgleich, oder so etwas ähnliches um Browserübergreifend die Daten bestehen zu lassen :)
Warum IP? In der User Tabelle einfach eine Spalte hinzufügen, und darin festhalten, ob der User die Info gesehen hat, oder nicht (true/false). Nur dann sehen es ja nur die Besucher, die sich auch anmelden ;)
Kannst natürlich für den Cookie ein Datum noch eintragen, wann dieser abläuft. Dann hast Du das zumindest für wiederkehrende Besucher, die den selben Rechner und Browser verwenden, dauerhaft gespeichert. Natürlich nur, sofern der Besucher nicht vorher seine Cookies manuell gelöscht hat.

Aber warum denn als Popup/Layer? Du hast zwar löblicherweise schon dran gedacht, das Popup nur einmal anzuzeigen, aber auch wenn ich Deine Webseite jetzt nicht kenne, würde ich einfach einen kleinen Hinweis auf die Seite bauen, der sich optisch ein wenig vom Rest abhebt, und da die entsprechenden Informationen unterbringen. Nervt den Benutzer nicht, braucht keinen Cookie und kein Javascript/jQuery.
 
rephluX schrieb:
aber auch wenn ich Deine Webseite jetzt nicht kenne, würde ich einfach einen kleinen Hinweis auf die Seite bauen, der sich optisch ein wenig vom Rest abhebt, und da die entsprechenden Informationen unterbringen. Nervt den Benutzer nicht, braucht keinen Cookie und kein Javascript/jQuery.
Joa, dass haben wir schon gemacht... im rechten Bereich ist eine Box angelegt die farblich anders gestalltet ist. Aber Chef meinte "ich will das voll fett auf der Seite als Popup!", mein Kollege und ich hatten schon versucht darauf einzugehen dass das nicht so toll ist und die Besucher eher abschreckt und vergrault, aber er möchte es unbedingt einmal ausprobieren.

Wenn er sieht, dass die Absprungrate dann steigt, wird er schon sehen was er davon hat.
 
Am besten, ihr macht mehrere, damit der user es auch wirklich merkt:

alert('HALT');
alert('Problem!');
alert('Kein Kundendienst verfügbar!');
alert('Bitte nutzen Sie nachstehenden Link.');
alert('Danke.');
 
He he.. Ich finde den Wunsch von Chef schon etwas übertrieben, aber das schießt natürlich den Bock ab :D
 
Zurück
Oben