Möglichkeit Daten mittels JavaScript dauerhaft zu speichern?

6 Antworten

Am besten du legst einen Cookie auf dem Client-Rechner ab

Google mal nach HTML5 Application Cache

Woher ich das weiß:Berufserfahrung – 20 Jahre Berufserfahrung

Das localStorage könnte dir weiterhelfen.

https://wiki.selfhtml.org/wiki/JavaScript/Web_Storage


Berghains 
Beitragsersteller
 16.08.2016, 15:38

Das bedeutet aber, dass die Daten nur lokal beim jeweiligen Client zur Verfügung stehen und nicht global für alle sichtbar wären. Oder sehe ich das falsch?

MonkeyKing  16.08.2016, 15:50
@Berghains

Das siehst du richtig. Ansonsten ist es nur mit so etwas wie node.js zu machen.

Cookie's dürften das problem lösen

Direkt bzw nur mit JavaScript dürfte das nicht funktionieren (höchstens mit node.js vielleicht, kA), aber du könntest ja eine Kombination aus JS und PHP nutzen (=> Ajax) um die Daten vom Server auszulesen bzw auch wieder dort zu speichern. 

Also du speicherst die Daten per PHP in einer DB, Textdatei oder wie auch immer du magst, und dann nutzt du eben Ajax um diese Daten im JS auszulesen bzw sie zum speichern wieder an PHP zu senden.


regex9  16.08.2016, 23:30

nodejs läuft serverseitig, daher würde es damit natürlich funktionieren. 

Berghains 
Beitragsersteller
 16.08.2016, 15:43

Das habe ich auch überlegt. Dann müsste ich aber alle Eigenschaften in der DB ablegen, um sie abrufen, ändern und speichern zu können. Wären fopen() etc. ein ein Ansatz, um die Eigenschaften und Werte direkt in der Datei zu manipulieren? 

mastema666  16.08.2016, 15:54
@Berghains

Geht natürlich auch nur via PHP, aber natürlich könntest du die Daten auch direkt in der CSS Datei ändern.

Am einfachsten wäre es wohl, nur die Eigenschaften, die auch wirklich änderbar sein sollen, in eine eigene kleine *.css zu packen und diese dann in der eigentlichen einzubinden, dann müsstest du nicht noch den Inhalt der ganzen CSS durchsuchen, die richtige Stelle finden etc, sondern nur das allernötigste eben speichern (kA wie viel du da änderbar haben willst, aber z.B. nur die erwähnte Schriftgröße wäre dann ja in einer Zeile machbar).

Also z.B. eine test.css schreiben mit einem Inhalt wie

testklasse { font-size: 1.5em; }

Und in der eigentlichen .css dann diese einbinden

@import 'test.css';