2016-07-01 21 views
1

Angenommen, es gibt eine Website (eine JavaScript-App), die von Benutzern regelmäßig verwendet wird und die die Möglichkeit zum Speichern ihres Status auf der Website anfordert, damit sie dort fortfahren können, wo sie aufgehört haben.Wie kann ich den Status einer Site speichern, ohne mein eigenes Datenbank-Backend zu implementieren?

Die Seite hat kein Datenbank-Backend, es ist alles eine einseitige JavaScript-App, die einen ziemlich komplizierten Zustand hat, so einfach eine URL zu generieren ist keine Option, da der Status mehrere Kilobyte sein kann, also für eine URL zu groß ist .

Cookies sind auch keine Option, sowohl wegen der Größe und weil ich will, dass der Zustand portabel ist, also wenn der Benutzer es speichert, kann er es verwenden, um auf einer anderen Maschine auch weiterzugehen.

Da ich die Website nicht mit einem Datenbank-Backend und Authentifizierung komplizieren möchte, dachte ich, der Status der Website könnte als ein Text generiert werden, der der Benutzer kopieren kann und später diese Textkonfiguration in ein Textfeld einfügen kann von Javascript geparst, um den App-Status wiederherzustellen.

Es kann funktionieren, obwohl es für den Benutzer etwas umständlich ist (die Textkonfiguration irgendwo speichern und später wieder einfügen). Gibt es eine andere Option, dies ohne db zu tun? (Z. B. habe ich darüber nachgedacht, die Textkonfiguration (die keine vertraulichen Informationen enthält) auf einer öffentlichen Einfügeseite zu speichern, obwohl ich nicht weiß, ob es eine mit einer js-API gibt, die anonyme Uploads unterstützt.

Gibt es andere Optionen?

+0

Deshalb gibt es 'Databases'. – Rayon

+0

Warum nicht einfach eine db hinzufügen? – Pytth

+0

Sie können keine wirkliche "Portabilität" erwarten, wenn Sie Ihre Auswahl an Techniken auf eine clientseitige App beschränken. – CBroe

Antwort

1

Basierend auf Ihren Kommentaren denke ich Firebase könnte eine Option für Sie sein. Es ist eine Datenbank, aber nicht lokal gehostet. Sie können Ihr clientseitiges Javascript direkt darauf zugreifen lassen, ohne Ihr eigenes Backend zu überladen.

+0

Danke, es sieht gut aus. Ich überprüfe, ob es eine JS-API gibt. – Tom

+0

Es hat JS und der freie Plan scheint mehr als genug für mich (meine ist keine kommerzielle App, also will ich nicht extra dafür bezahlen.) Sieht aus wie dies die Antwort auf meine Frage ist, aber ich bin nicht das Markieren ist noch nicht gelöst, falls jemand eine andere Lösung postet. – Tom

0

Sie könnten in localStorage suchen und JSON.parse() und JSON.stringify() verwenden, um jeweils zu lesen und zu schreiben.

Bearbeiten: Es tut mir leid, bemerkte gerade, dass Sie sagten, Sie wollen, dass es tragbar sein. Ohne ein Backend ist das sehr schwierig, es sei denn, der Benutzer behält seine Einstellungen bei und lädt sie jedes Mal hoch, wenn er die Site aufruft.

+0

Ja, aber Localstorage ist nicht zwischen Computern übertragbar, also hat es das selbe Problem wie Cookies. – Tom