SessionStorage PopUp Fenster

  • Habe ein Pop Up Fenster für eine Webseite mit JS gebastelt, klappt soweit auch. Das soll dann beim Seitenaufruf auftauchen aber nur für die Dauer der Session, also es soll erst wieder angezeigt werden, nachdem das Browserfenster geschlossen und die Seite wieder in einem neuen Tab geöffnet wurde.

    Da muss man ja mit sessionStorage arbeiten. Nur bekomme ich das nicht hin.



    Müsste man dann abfragen,ob in der Session schon mal das PopUp Fenster geöffnet wurde ? Wäre für jede Hilfe dankbar


    if ( ? )

    {

    hier wird dann das Popup aufgerufen

    }

  • Du redest ja von Session.

    Willst du da mit PHP arbeiten?

    Ich meine damit....

    Wenn sich ein User einloggt, bekommt er eine Session. Beim ausloggen , oder Browser (Fenster/Tab ) schließen lässt man die Session zerstören .

    Das wäre dann mit PHP eine Session die man dann mit JS in localstorage speichern könnte.


    In JS gibt, es glaube ich nicht sowas wie eine Session.

    Wenn ich deine Seite betrete könntest du den Pop-up anzeigen und im localstorage vermerken, dass ich ihn gesehen habe.

    Jetzt ist aber die Frage wie man im localstorage vermerkt,das man die Seite verlassen hat ?

    Es gibt dafür onbeforeunload() , oder vielleicht auch andere Möglichkeiten die ich erst selber nochmal Googeln müsste.


    Soll der Pop-up für jeden Besucher nur einmal angezeigt werden , oder jedes Mal, wenn er deine Seite besucht ( wie eine Session) ?

    EDIT:

    Habe dir mal ein Beispiel gemacht wie man einen Erstbesucher einen Modal anzeigt.

    Beim nächsten Besuch wird eine Zeit angezeigt wie lange der letzte Besuch her ist.

    https://basti1012.bplaced.net/…rdner=html-seminar&id=420

    Mit diesen Beispiel solltest du den Rest auch hinbekommen, je nachdem was du da vorhast

  • Habe dir mal ein Beispiel gemacht wie man einen Erstbesucher einen Modal anzeigt.

    Beim nächsten Besuch wird eine Zeit angezeigt wie lange der letzte Besuch her ist.

    https://codepen.io/basti1012/pen/oNXMQVJ?editors=1010


    Mit diesen Beispiel solltest du den rest auch hinbekommen, jenachdem was du da vor hast


    Es gibt in JS nicht nur die localStorage sondern auch die sessionStorage: https://developer.mozilla.org/…API/Window/sessionStorage

    Die wird gelöscht wenn der Browser zugeht.


    Ok.Danke. Ich werde mir den Beispielcode anschauen und versuche, alles nachzuvollziehen und entsprechend anzupassen.

  • Bin jetzt etwas weitergekommen, habe das mit sessionStorage gemacht, aber habe noch ein Problem: Das Popup Fenster soll erst wieder erscheinen, wenn der Browser neugestartet wird. Das klappt auch , aber momentan erscheint es immer auch dann neu, sobald man eine Unterseite der Website in einem neuen Tab öffnet.


    Wie kann man das unterdrücken ? Könnte mir dann nochmal jemand weiterhelfen ?

  • Dann mußt du wohl localstorage nutzen.

    Session.Storage ist wohl das wie es heißt.

    Sobald du ein neuen Tab auf machst fängt wohl eine neue Session an.

    Ich muß das mal testen ,aber denke das da wohl localstorage helfen könnte.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!