Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Organisatorisches +[JavaSkript]: Seite im Hintergrund öffnen (https://www.delphipraxis.net/23025-organisatorisches-%5Bjavaskript%5D-seite-im-hintergrund-oeffnen.html)

yankee 27. Mai 2004 18:12


Organisatorisches +[JavaSkript]: Seite im Hintergrund öffnen
 
Ich stehe hier diekt vor einem Doppelproblem. Erstmal sie Situation:

Ich habe einen Webshop, indem eine Liste mit allen Artikeln vorhanden ist. Neben jedem Artikel ist ein Eingabefeld, wo der User eine Anzahl eingeben kann. Daneben ist ein Bild mit einem Einkaufswagen.

Was ich daraus machen will:
ich möchte nun, dass wenn man auf den Einkaufswagen klickt, die enstsprechende Menge des Artikels in den Warenkorb getan wird, der als MySQL-Tabelle vorliegt. Ein PHP-Skript zu schreiben, der den MySQL-Eintrag vornimmt, ist für mich kein Problem.
Aber wenn ich den Einkaufswagen direkt als Link auf die PHP-Datei nehme, dann muss der arme User ja warten, bis die PHP-Seite geladen ist und danach, wenn er nochwas kaufen will wieder warten, bis die vorherige Seite geladen worden ist. Ziemlich umständlich, besonders, wenn der User nur ein Modem hat.

Mein Lösungsansatz:
Wenn der User auf den Einkaufswagen klickt, wird eine JavaScript-Funktion ausgeführt, die die PHP-Seite mit den entsprechenden Paramatern aufruft, aber nicht anzeigt. So dass alles im Hintergrund abläuft. Das hat aber den Nachteil, dass der User womöglich nicht peilt, dass die Bestellung bereits stattgefunden hat. Ich muss also eine Lösung finden, wie ich dem User , so dass er es merkt, aber nicht zu penetrannt, klarzumachen, dass die Ware erfolgreich in den Warenkorb gefügt worden ist.
2. Problem: Wie kann man mit JavaScript eine Seite öffnen, sie aber nicht anzeigen? Geht das überhaupt?

Über einen ganz anderen Lösungsansatz würde ich mich ebenso freuen, wie über ein Realisierungskonzept für meinen Lösungsansatz.

himitsu 27. Mai 2004 18:21

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
versuchs mal mit 'nem FrameSet.

Ein sichtbares Frame mit der Seite (für die Eingabe)
und ein unsichtbares Frame (FrameBreite, oder FrameHöhe = 0) für das Andere

Also in dem versteckten Frame die PHP-Datei zum eintragen laden und wenn diese Datei geladen wurde kann ja von dort per JavaScript eine Erfolgsmeldung an das Dokument im sichtbaren Frame gesendet werden.

yankee 27. Mai 2004 18:26

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
Versteckter Frame? Gute Idee, warum nicht...
Erfolgsmeldung. Nun ich könnte alert(); nehmen, aber für erfahrene Benutzer, die schnell im klicken sind, ist das bestimmt nervig. Ich habe unten Links in der ecke noch einen Frame, in dem überhaupt nicht drin ist. Vielleicht könnte ich den ja für 'ne Meldung nutzen. Nur müsste der User es auch merken.

generic 2. Jun 2004 08:33

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
denkt ihr bitte an popup-blocker wie z.b. google toolbar oder sie ihn jede billige firewall hat!?
javascript kann im browser auch abgeschaltet sein!

alcaeus 2. Jun 2004 08:47

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
Ich würde das Script in die Datei für den Warenkorb geben, und es mit Parametern steuern. Der Vorteil liegt darin, dass der Benutzer nach dem Ausführen des SQL-Queries gleich die Bestätigung sieht, dass der Artikel auch im Warenkorb gelandet ist.
Alternativ kannst du auch anstatt mit Parametern auch mit einem Form arbeiten, und die Parameter intern verwalten lassen.

Greetz
alcaeus

yankee 2. Jun 2004 14:55

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
an Popupblocker denke ich. Das hat doch mit Frames nichts zu tun. An deaktiviertes JavaScript denke ich nicht. Die Seite beinhaltedt sowas von viel JavaScript (das fängt schon damit an, dass das Passwort mittels JavaScript md5-Verschlüsselt wird), dass die Seite mit deaktiviertem JavaScript absolut unbrauchbar ist.
Allerdings ist JavaScript in der HTML4-Spezifikation enthalten und wird somit von jedem auch nur halbwegs vernünftigen Browser unterstützt.
Ich muss für die Seite JavaScript einfach voraussetzten, da es ein mords Aufwand wäre, alle Funktionen, die ich momentan durch JavaScript erledigen lasse auf PHP zu übertragen. Mal abgesehen von den armen Modemusern, die müssen sich doch doch die ganze Seite ständig neuladen...

@alcaeus: Vielleicht verstehe ich dich auch falsch, oder ich verstehe dich garnicht. Datei mit Parametern arbeiten lassen? Was für eine Datei? PHP? wo sol die engezeigt werden, da bin ich doch schon wieder am Anfang...
Form? Was für ein Form? Denkst du an Delphi? Das ist schließlich kein Delphiprog.

alcaeus 2. Jun 2004 15:01

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
Zitat:

Zitat von yankee
@alcaeus: Vielleicht verstehe ich dich auch falsch, oder ich verstehe dich garnicht. Datei mit Parametern arbeiten lassen? Was für eine Datei? PHP? wo sol die engezeigt werden, da bin ich doch schon wieder am Anfang...

Nein, nicht wirklich. Nehmen wir an, du hast einen Link "In Warenkorb legen". Die Adresse könnte dann lauten:
Code:
sbasket.php?mode=add&art_id=462&art_c=1
Wenn die sbasket normalerweise den Warenkorb anzeigt, dann brauchst du nur am Anfang folgendes zu machen:
Code:
if (mode == 'add' AND art_id != '' AND art_c == '')
{
//SQL zum einfügen
}
//Anzeigen des Warenkorbs.
Der Benutzer bekommt die Seite in seinem Browserfenster angezeigt, sieht dass der Artikel im Warenkorb ist und kann mit einem history.back()-Link sehr einfach zurückgeführt werden.


Zitat:

Zitat von yankee
Form? Was für ein Form? Denkst du an Delphi? Das ist schließlich kein Delphiprog.

Das wusste ich. Es gibt in HTML ein form-Tag, mit dem du ein Formular machen kannst: selfHTML: HTML / Formulare
Die Bearbeitung dieser Formulare kann mit Hilfe von PHP oder CGI/Perl erledigt werden.
Ich hoffe dieses Mal waren die Informationen verständlich genug...

Greetz
alcaeus

yankee 2. Jun 2004 18:14

Re: Organisatorisches +[JavaSkript]: Seite im Hintergrund öf
 
Aha, jetzt verstehe ich, was du meinst. Aber soweit bin ich schon längst. Das Problem ist es dass ich eben nicht die PHP-Datei anzeigen will, die PHP-Datei + Formular habe ich soweit.
Warum? Nun, der arme Modemuser muss erst warten, bis die PHP-Datei geladen ist und dann wieder zurückswitchen. Also ich als User fände das nervig.
Trotzdem möchte ich den User irgendwie dezent darauf hinweisen, dass der Eintrag in den Warenkorb erfolgreich war...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz