Feedback in einer Suche
alkasser
- php
Hallo Leute,
ich suche für die Suche meines Projektes ein "Feedback-Script", das heißt, wenn ich nach etwas suche und es dauert etwa 10 sekunden, dann soll es so aussehen, dass es gesucht wird. Ich habe wirklich keine Ahnung, wie ich damit anfangen kann.
Für weitere Hilfe bedanke ich mich sehr
Alkasser
Du meinst, dass ein "Loading" oder vergleichbares per modalem Dialog angezeigt wird?
Hallo suit,
Du meinst, dass ein "Loading" oder vergleichbares per modalem Dialog
ja ganz genau
Mahlzeit alkasser,
Du meinst, dass ein "Loading" oder vergleichbares per modalem Dialog
ja ganz genau
Du könntest <http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit@title=beim Abschicken des Suchformulars> an irgendeiner Stelle eine (animierte) Grafik http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=einblenden, die dem Benutzer vorgaukelt, es würden hektisch irgendwelche Aktionen durchgeführt ...
MfG,
EKKi
ja ganz genau
Dann ist vermutlich Ajax dein Stichwort.
Du fängst die Submit-Aktion des Suchformulars ab und reichst die Daten an JavaScript weiter. Diese blendet irgendetwas lustiges ein "Bitte warten" oder ähnliches und setzt einen XMLHttpRequest ab. Wenn dieser fertig ist, wird das "Bitte warten"-Dingens entfernt und das Suchergebnis ins DOM der Seite eingefügt.
Diverse JavaScript-Frameworks bieten hierfür bereits fertige, einfache Lösungen an. jQuery z.B.
Hi,
ich suche für die Suche meines Projektes ein "Feedback-Script", das heißt, wenn ich nach etwas suche und es dauert etwa 10 sekunden, dann soll es so aussehen, dass es gesucht wird.
möchtest Du nicht viel lieber Deinen Suchvorgang optimieren, so dass es statt 10 Sekunden nur noch 0.10 Sekunden dauert? Dann brauchst Du nicht hohe Aufwände in das Eingeständnis zu stecken, beim Suchvorgang versagt zu haben.
Cheatah
HI Cheatah,
möchtest Du nicht viel lieber Deinen Suchvorgang optimieren, so dass es statt 10 Sekunden nur noch 0.10 Sekunden dauert? Dann brauchst Du nicht hohe Aufwände in das Eingeständnis zu stecken, beim Suchvorgang versagt zu haben.
das möchte ich gerne, aber leider sind meine Daten nicht in einer Datenbank sondern in einer Ontologie gespeichert. Von daher kommt mir mommentan die indexierung nicht in Frage. Oder hast du eine Idee, ob man auch Optemierung mit Ontologien machen kann?
beste Grüße
Alkasser
Hi,
das möchte ich gerne, aber leider sind meine Daten nicht in einer Datenbank sondern in einer Ontologie gespeichert. Von daher kommt mir mommentan die indexierung nicht in Frage. Oder hast du eine Idee, ob man auch Optemierung mit Ontologien machen kann?
Ontologien sind Arten von Daten, keine Form der Speicherung. Eine solche nennt sich Datenbank. Zwei Beispiele für Datenbanken sind relationale Datenbanken und Textdateien. Was immer Du also für eine Speicherung vorliegen hast: Es *ist* eine Datenbank, und die Bezeichnung "Ontologie" hat diesbezüglich keinerlei Nutzen.
Cheatah
Hi!
ich suche für die Suche meines Projektes ein "Feedback-Script", das heißt, wenn ich nach etwas suche und es dauert etwa 10 sekunden, dann soll es so aussehen, dass es gesucht wird. Ich habe wirklich keine Ahnung, wie ich damit anfangen kann.
Ganz ohne AJAX, dafür aber mit echter Fortschrittsanzeige jedoch auch mit nicht validem HTML:
Gib zunächst ein <div id="progress"> oder ähnliches aus. Lass dann in regelmäßigen Abständen (zum Beispiel pro n Schleifendurchläufe) ein einzelnes Zeichen oder eine Prozentzahl ausgeben, die du mit flush() sofort zum Browser beförderst. Bei meinem letzten Test vor vielen Monden hatte nur der Opera keine Lust, diese kleinen Häppchen auch sofort anzuzeigen. Wenn alles fertig ist folgt ein </div> und ein
<style type="text/css">
#progress { display: none; }
</style>
und weiter ganz normal mit der Ausgabe. Die Browser dürften es selbst dann nicht übel nehmen, wenn das noch vor dem <html> passiert, du kannst das aber auch irgendwo im Body unterbringen, denn wäre nur das style-Element nicht valide. Und wenn du die Anzeige hinterher gar nicht ausblenden willst geht's sogar ohne Validitätsproblem.
Lo!