mediathekview / mediathekviewweb

Eine Weboberfläche als Alternative zum Java-Client
https://mediathekviewweb.de/
GNU General Public License v3.0
898 stars 67 forks source link

GET-Parameter "query" nicht sofort bei Suche aktualisieren #228

Open Somebodyisnobody opened 2 years ago

Somebodyisnobody commented 2 years ago

Hallo, ich habe in meinem Firefox sehr viele Einträge von mediathekviewweb. Meine Browserhistorie und damit die Adressvorschläge sind geflutet von Einträgen, die meinem Eingabeverlauf in der Suche entsprechen. Wenn ich nach foobar suche, dann werden folgende Einträge in den Suchverlauf eingefüttert:

Ich möchte vorschlagen, den Paramter "query" erst nach einem Timeout on sagen wir 1 Sekunde in die Adresszeile eingetragen wird. So würde nach dem Eintippen von foobar nur https://mediathekviewweb.de/#query=foobar in der Browserhistorie erscheinen.

MrFly72 commented 2 years ago

Ist mir noch nie aufgefallen, aber ja es bläht die Historie ganz schön auf. Vielleicht wäre ein Suchen Button dann auch besser. Der Zeitfaktor ist dann recht wage. Vielleicht kann man es auch einfach konfigurierbar machen.

Somebodyisnobody commented 2 years ago

@Wikinaut you downvoted my suggestion. Is there something wrong with it? Maybe you have a better idea.

Wikinaut commented 2 years ago

I work with "AJAX" suggestions-as-you-type since about 22 years and never found this a real problem, that's only why I downvoted, and I do not wanted to make the maintainer too much work - in other words: I am extremely happy as mvw is.

Okay?

Somebodyisnobody commented 2 years ago

Ich habe gesehen, du hast einige deutsche repos, also antworte ich mal auf Deutsch: Wenn ich die Seite aufrufe, wird doch eine komplette Liste von Filmen heruntergeladen und dann per JavaScript gefiltert, wenn ich danach einen String in die Suche eingebe. Wenn ich mit dem "#query=foobar" die Seite neu lade, wird die url samt String "foobar" mitgeschickt und eine nach "foobar" gefilterte Liste ausgegeben. Das ist auch alles okay, hätte ich genau so gemacht.

Worum es mir in diesem Issue lediglich geht ist das Verhalten beim Eintippen von Zeichen in die Suche. Also wenn ich z.B. die ganze Liste heruntergeladen habe, indem ich https://mediathekviewweb.de/ (ohne Suchstring) aufrufe, und danach nach einem Eintrag suche. Was ich eintippe wird ohne wenn und aber sofort in die Adresszeile des Browsers und damit in den Browserverlauf geschrieben. Es hat nichts mit AJAX zu tun, da die gesamte Liste schon heruntergeladen wurde.

Jetzt könnte ich sagen, versteckt doch den Suchstring in den HTTP Headern, oder im Body des POST-Requests. Aber ich verstehe die Intention der Entwickler, dass man ja vielleicht auch ein Lesezeichen auf einen Suchstring setzen will. Deshalb ist die "ID" "#query=foobar" sinnvoll, denn sie steht mit in der URL und kann damit beim Aufrufen des Lesezeichens via JS ausgelesen werden, um eine spezifische Suche nach genau dem String zu starten.

Alles was ich vorschlage ist, dass eingegebene Wörter nicht unmittelbar bei Eingabe, in den Browserverlauf gespeichert werden, sondern dass ca. eine Sekunde gewartet wird, bis der Eintrag in der Adresszeile und damit im Browserverlauf steht. Ob die Suche via JS nun gleich startet oder erst, wenn die Adresszeile 1 Sekunde nach Ende des Tippens aktualisiert, ist mir da zweitrangig. Es geht mir nur um die direkte Aktualisierung des Suchstrings in der Adresszeile.