Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create addon_permalink_to_personal_result.js #87

Merged
merged 9 commits into from
Apr 7, 2023

Conversation

fenglisch
Copy link
Collaborator

Auf Wunsch eines Kunden. Erlaubt das spätere Zurückspringen zu der Ergebnisseite, wie man sie hinterlassen hat. Bei Bedarf kann ich dann auch nachträglich etwas an meinen Antworten ändern und einen aktualisierten Permalink generieren.

Über einen Button lässt sich ein Permalink erstellen, der die arPersonalPositions und arVotingDouble als URL-Parameter enthält. Beim Aufrufen der Seite wird dann gecheckt, ob die Parameter enthalten sind.

Auf Wunsch eines Kunden. Erlaubt das spätere Zurückspringen zu der Ergebnisseite, wie man sie hinterlassen hat. Bei Bedarf kann ich dann auch nachträglich etwas an meinen Antworten ändern und einen aktualisierten Permalink generieren.

Über einen Button lässt sich ein Permalink erstellen, der die arPersonalPositions und arVotingDouble als URL-Parameter enthält. Beim Aufrufen der Seite wird dann gecheckt, ob die Parameter enthalten sind.
... and decode when reading the URL parameter

Also refactor fnProcessPermalink() a bit
Der Block hatte ohnehin keine Wirkung, da der Array erst in Runtime generiert wurde und noch nicht fertig war, also arQuestionsShort.length war 0. Mit `i < intQuestions` würde es funktionieren, aber das würde zu einem Konflikt mit fnProcessPermalink aus addon_permalink_to_personal_results führen (Initiatilisierung aller Elemente zu 99 bis false würde teilweise stattfinden, nachdem die Arrays mit den URL-Parametern gefüllt wurden).
@msteudtn
Copy link
Owner

msteudtn commented Mar 8, 2023

Es funktioniert mit deinem veränderten / verbesserten Quelltext. 👍

Dieser ist leider (meinerseits) noch nicht in den Mat-o-Wahl zurück geflossen. :( https://github.com/msteudtn/Mat-O-Wahl/tree/issue-82-merge-sources

@fenglisch
Copy link
Collaborator Author

Bei mir funktioniert es auch mit dem Master Branch 👍

grafik

@fenglisch
Copy link
Collaborator Author

Ein schöner Nebeneffekt ist auch, dass das auch ein Workaround ist, um das neu sortierte Ranking zu bekommen, nachdem man seine Antworten nachträglich geändert/doppelt gewichtet hat.

@msteudtn
Copy link
Owner

So. Ich glaube ich habe "mein" Problem gefunden. :)

Der Firefox in meiner Test-VM arbeitet ohne Browser-Cache. Damit ist jeder Seitenaufruf wie ein neuer Besuch der Seite und Änderungen werden sofort übernommen. Außerdem lädt Firefox zuerst das Addon und danach die CSV-Dateien.

Der Test-Chromium ist auf Caching eingestellt. Außerdem lädt er anders herum. Also zuerst die CSV-Dateien und dann das Addon.

Das heißt, dass ein "alter" Besucher des Mat-o-Wahl die Daten noch im Cache hätte und das Addon funktioniert. Wenn er / sie aber den Link verschickt, kann es sein, dass der Link beim Gegenüber nicht funktioniert.

Im Addon auf Zeile 97 hast du bereits ein TimeOut von 500ms eingestellt bevor fnShowQuestionNumber(intQuestions) aufgerufen wird.

Ich hatte ein ähnliches Problem mit dem Laden von CSV-Dateien, falls jemand keine Willkommensnachricht anzeigen lässt. Deshalb gibt es in der OUTPUT.CSV (Zeilen 109-121) ein TimeOut von 2500ms. Meiner Meinung nach sind 2,5 sec wirklich das Maximum für alte Modem-Verbindungen.

Fazit: Wenn die Wartezeit irgendwo dazwischen bei 1,5-2 sec liegt, sollte es auch bei "neuen" Besuchern klappen. Notfalls kann man solange eine Animation (CSS?) anzeigen. :)

To give the browser more time to load the CSV files
@fenglisch
Copy link
Collaborator Author

@msteudtn ich hab die Wartezeit erhöht und ein Modal eingefügt. Funktioniert es damit auch in Firefox ohne Cache?

@msteudtn msteudtn merged commit caf803d into master Apr 7, 2023
@msteudtn msteudtn deleted the fenglisch-addon-permalink branch April 7, 2023 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants