Turbolinks:Wie beende ich manuell eine Javascript-Sitzung in Rails?
-
21-12-2019 - |
Frage
In meiner Rails-App habe ich einen Javascript-Timer auf einer Seite.Bei Verwendung von Turbolinks würde das Timer-Objekt zwischen den Seiten bestehen bleiben.
Wenn der Benutzer also den Timer startet timer.html.erb
und auf eine andere Seite gehen und zurückwechseln, der Timer läuft immer noch (bleibt bestehen), anstatt erneut zu starten.
Ich möchte Ihnen mein Beispiel zeigen.Aber wo soll man es hinstellen?JS-Geige?Heroku?
Beachten:Ich habe versucht, dass alles in Ordnung wäre, wenn ich die Turboverbindungen ausschalte.
Lösung
Anstatt Turbolinks zu entfernen, würde ich deren verwenden Veranstaltungen So laden Sie den Timer jedes Mal neu, wenn die Seite geladen wird:
#app/assets/javascripts/application.js
var timer = function() {
//timer init
};
$(document).ready(timer);
$(document).on('page:load', timer);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow