1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Seite anzeiben bei Verlassen der Seite

  • sdeltaw
  • 28. September 2004 um 16:12
  • Unerledigt
  • sdeltaw
    2
    sdeltaw
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 28. September 2004 um 16:12
    • #1

    Hallo beisammen,
    ich komme aus der ASP-Ecke und habe - leider immer noch trotz guter Vorsätze - keinerlei Ahnung von Java-Programmierung. Jetzt habe ich ein
    dringendes Problem, das mit ASP-Mitteln nicht in den Griff bekomme.
    Vielleicht könnt Ihr mir ja weiterhelfen :winking_face:

    Ich habe eine Frameseite mit 4 frames, darunter der frame warenkorb.asp
    Darin sind Artikel eines Warenkorbs gespeichert.

    Problem: Verlässt der Besucher die Seite warenkorb.asp die sich im frame produkte.asp befindet über Alt+F4 oder Schließen im Browser so soll auf parent-Ebene eine Seite umfrage.asp geladen werden. Das soll nicht eintreten, wenn der User z.B. in den Bereich Kunden-Verwaltung wechselt, also die Seite per Link verlässt.

    Ich bin für jede Art der Problemlösung offen, egal wie umständlich.
    Denn ich brauche das schnell für meine Lösung.

    Danke im Voraus
    Stefan

  • rck
    15
    rck
    Mitglied
    Reaktionen
    2
    Punkte
    2.342
    Beiträge
    437
    • 28. September 2004 um 17:12
    • #2
    Zitat von sdeltaw

    Problem: Verlässt der Besucher die Seite warenkorb.asp die sich im frame produkte.asp befindet über Alt+F4 oder Schließen im Browser so soll auf parent-Ebene eine Seite umfrage.asp geladen werden. Das soll nicht eintreten, wenn der User z.B. in den Bereich Kunden-Verwaltung wechselt, also die Seite per Link verlässt.

    JAVA bringt Dir hier nicht viel, ich tät's mit JavaScript probieren. Kennst Du Dich damit aus? Schau mal auf self HTML.

    Du kannst über das JavaScript Objektmodell (DOM) direkt auf den parent-frame zugreifen und dem dann eine URL zuweisen. Das sollte Dir helfen... // René!

    p/s: die Lösung funktioniert natürlich nur, wenn der Benutzer JavaScript eingeschalten hat. Eine universellere Lösung wäre eventuell CSS-Layer-basiert...? Kommt natürlich auf die Gesamtlösung an.

    [ egapemoh eniem ] [ Korneuburg Community ] [ FB ] [ Xng ]

  • sdeltaw
    2
    sdeltaw
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 28. September 2004 um 17:37
    • #3

    Das hört sich für mich an wie Bahnhof. Könntest du das näher ausführen, vielleicht mit Beispielen.

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 28. September 2004 um 18:36
    • #4
    Zitat von sdeltaw

    Das hört sich für mich an wie Bahnhof. Könntest du das näher ausführen, vielleicht mit Beispielen.

    in einer webapplikation hat der server keinen schimmer, was der client gerade macht.die einzige möglichkeit zur komunikation besteht darin, das der client eine anfrage an den server schickt, also seite aufruft.

    ECMAScript (Javascript) läuft dagegen direkt auf deinem browser.

    d.h du kannst sagen: wenn fenster x geschlossen wird, öffne fenster y. Da das von vielen missbraucht wird (popups), ignorieren viele browser standardmässig diese funktion.

    Für beispiele solltest Du dir die von rck empfohlene referenz reinziehen.

    die hacks:

    alternativ kannst gibt es nur noch die möglichkeit mit refreshes oder polling zu arbeiten. Das sind beides wirklich schlechte hacks, für die du schon ziemlich verzweifelt sein musst.
    Ich musste (und habe) mal eine recht komplexe chatapplikation ohne clientseitige hilfe (javascript,plugins) implementieren, und ich kann dir versichern das du mit keiner der beiden möglichkeiten glücklich werden wirst.

    auf refresh basierte lösungen haben so etwas wie

    <META HTTP-EQUIV=Refresh CONTENT="10; URL=http://...">

    in dem header aller seiten stehen, die ohne zutuen des users anfragen stellen sollen. die seite wird dann einfach alle n sekunden neu geladen und dein script kann immer wieder neu entscheiden, welche daten geschickt werden sollen.
    => langsam, super viel traffik, und hässlich ist es auch noch.

    polling bedeutet, das du ein frame nie zuende laden lässt: es wird als ständig eine verbindung aufrecht erhalten, zum beispiel durch eine endlosschleife.

    irgendwann bricht die verbindung aber immer ab, da musst du dann mit einem refresh ran.


    Ansonsten kann ich dir noch sagen, das HTML nicht für solche spielereien gemacht wurde. Aber das wird dir wohl auch nicht viel helfen.

    lg, Benjamin Ferrari, bookworm.at

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 29. September 2004 um 00:44
    • #5
    Zitat von a9bejo

    d.h du kannst sagen: wenn fenster x geschlossen wird, öffne fenster y. Da das von vielen missbraucht wird (popups), ignorieren viele browser standardmässig diese funktion.

    genau so sollte man hier ("kundenumfrage") vorgehen. denn wenn der benutzer popups ausgeschalten hat, bedeutet das, dass er auch die kundenumfrage nicht sehen möchte. ein seriöser webdesigner wird das akzeptieren, und nicht versuchen, das öffnen des fensters trotzdem irgendwie durchzusetzen.

    wie ginge das eigentlich genau? im <body>-tag ein onunload="parent.open('kundenumfrage.asp')" hinzufügen?

    edit: ach ja: http://www.javascriptkit.com/

    lg michi

  • sdeltaw
    2
    sdeltaw
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 29. September 2004 um 05:33
    • #6

    Ich werde deinen Vorschlag ab Abend testen.
    Aber was ich weiß kommt das Fenster auch, wenn der Kunde die Seite per Link auf eine andere Seite meiner Homepage verlässt. Ist das hier nicht so?

    Stefan

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 29. September 2004 um 08:53
    • #7
    Zitat von sdeltaw

    Ich werde deinen Vorschlag ab Abend testen.
    Aber was ich weiß kommt das Fenster auch, wenn der Kunde die Seite per Link auf eine andere Seite meiner Homepage verlässt. Ist das hier nicht so?

    Stefan


    du müsstest glaube ich das onunload-ereignis des framesets behandeln. denn wenn man mit alt+f4 oder X den browser schließt, sind ja alle frames weg.

    ich hoffe mein vorschlag funktioniert auch :grinning_squinting_face: hab in letzter zeit nicht viel javascript programmiert. ich weiß nur, dass es in den implementierungen große unterschiede zwischen dem ie und anderen browsern gibt. das ist der nachteil von javascript.. weil es clientseitig wirkt, ist es vom browser abhängig. und die ganzen lynx-fetischisten werden sich aufregen, weil die seite in ihrem browser überhaupt nicht nicht funktioniert. :verycool:

    lg michi

  • sdeltaw
    2
    sdeltaw
    Mitglied
    Punkte
    25
    Beiträge
    4
    • 29. September 2004 um 08:59
    • #8

    Hättest du für mich ein Beispeil was du damit meinst:

    onunload-ereignis des framesets

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 29. September 2004 um 09:04
    • #9
    Zitat von sdeltaw

    Hättest du für mich ein Beispeil was du damit meinst:

    onunload-ereignis des framesets

    das frameset ist die html-datei, die die einzelnen frames definiert und die anderen dateien einbindet, siehe [1]. es hat auch ein onunload-ereignis, siehe [2]. was du dort hineinschreibst, müsste also beim verlassen des ganzen konstrukts (= browser-schließen) aufgerufen werden.

    edit: vielleicht hast du die frames nicht mit html realisiert? du schreibst nur "frameseite". so viel ich weiß, können frames auch anders erstellt werden, html-frames sind aber die "üblichste" vorgangsweise.

    lg michi



    [1] http://de.selfhtml.org/html/frames/definieren.htm
    [2] http://de.selfhtml.org/html/referenz/attribute.htm#frameset

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern