# [HTML, XHTML, JavaScript, SVG] Datei lokal ohne Server speichern unter



## mtun (28. März 2013)

Hi,
ich möchte eine Datei erstellen (html, svg,...), die ein üblicher Browser öffnen kann (C.O.FF). Mit ihr soll man dann (auch offline) eine lokale Datei öffnen können, bearbeiten und wieder speichern können. 

Zum Beispiel lade ich die Datei "hallo.txt" von meiner lokalen Festplatte, dann füge ich mit dem Browser  z.B. in einem Textfeld "Welt" hinzu. Danach drücke ich speichern unter und schreibe sie auf meine lokale Festplatte. Für das Laden habe ich potentiell schon was:
http://www.html5rocks.com/de/tutorials/file/dndfiles/

-->Aber wie ist es mit dem Schreiben? Die Art und Weise ist recht egal. Direkt auf die Festplatte schreiben geht ja nicht, daher speichern unter Button oder wie bei normalen Links, wenn das verlinkte Objekt nicht vom Browser geöffnet werden kann.

Textausgabe kopieren, auf dem Desktop eine Datei erstellen, diese öffnen, den Inhalt hineinkopieren, die datei speichern und fenster wieder schließen ist zu umständlich. Aber alternativ könnte die Information in ein Bild geschrieben werden, dieses  auf der Seite angezeigt werden und mit rechtsklick speichern unter gespeichert werden.

Wie gesagt, soll alles ohne zusätzliche Software oder Server passieren, nur die "Browser-Datei" und die gespeicherte Datei (keine Cookies). Nach Möglichkeit nur mit HTML, XHTML, JavaScript, SVG oder zumindest damit kompatibel.


vielleicht mit "xlink:href="data:text/plain;base64,..." (das ist dann aber auf der Seite und keine Datei)


----------



## ikosaeder (28. März 2013)

Irgendwie verstehe ich deinen Ansatz noch nicht. Welche Art von Dateien willst du denn mit dem Browser bearbeiten, und was ist der Vorteil gegenüber einem richtigen Editor?
Mit HTML5 geht schon eine Menge in der Richtung, deutlich einfacher geht es allerdings wenn du dir lokal einen Xampp o.ä. aufsetzt. Dann kannst du auf vorhandene OnlineEditoren zurückgreifen, z.B. CKeditor
http://ckeditor.com/
In HTML5 wird eine FileAPI spezifiziert, ich weiß allerdings nicht, welcher Browser wieviel davon unterstützt.
http://www.w3.org/TR/file-writer-api/


----------



## tombe (28. März 2013)

Vor allem verwirrt das du schreibst:



> ...wenn das verlinkte Objekt nicht vom Browser geöffnet werden kann...



Wenn es sich z.B. um DOC, XLS, JPG, ... handelt und du willst die Datei bearbeiten, dann brauchst du ja sowieso das Programm (Word, Excel, Paint, ...) welches ursprünglich dafür gedacht war.


----------



## mtun (28. März 2013)

ikosaeder hat gesagt.:


> Welche Art von Dateien willst du denn mit dem Browser bearbeiten, und was ist der Vorteil gegenüber einem richtigen Editor?


Naja, am Ende soll der Text ja natürlich nicht 1:1 übertragen werden. Also z.B. gebe ich im Browser "1 2 3" ein und speicher dann in die lokale Datei "2 3 4".




ikosaeder hat gesagt.:


> Mit HTML5 geht schon eine Menge in der Richtung, deutlich einfacher geht es allerdings wenn du dir lokal einen Xampp o.ä. aufsetzt. Dann kannst du auf vorhandene OnlineEditoren zurückgreifen, z.B. CKeditor
> http://ckeditor.com/


Ne ohne zusätzliche Software. Es sollen auch andere Personen nutzen können (ohne was zu installieren).



ikosaeder hat gesagt.:


> In HTML5 wird eine FileAPI spezifiziert, ich weiß allerdings nicht, welcher Browser wieviel davon unterstützt.
> http://www.w3.org/TR/file-writer-api/


Das könnte sein was ich gesucht habe, schau ich mir dann gleich mal genauer an.




tombe hat gesagt.:


> Vor allem verwirrt das du schreibst:
> 
> 
> mtun hat gesagt.:
> ...


Wenn man ein z.B. eine Zip-Datei in verlinkt hat, wird es automatisch ein Download, bei einer html-Datei öffnet der Browser diese Seite.

Oder anders gefragt wie kann ich einer Datei (html, svg,..) eine andere Datei einbauen.


----------



## tombe (28. März 2013)

> Also z.B. gebe ich im Browser *"1 2 3"* ein und speicher dann in die lokale Datei *"2 3 4"*



Die Logik verstehe ich nicht. Du gibst "1 2 3" ein, speicherst aber "2 3 4" !? !? !?

In eine HTML-Seite kannst du zumindest theoretisch als Objekt jede Datei einbauen, siehe hier. Nur bearbeiten kannst du sie da nicht!


----------



## MarcoPaulini (28. März 2013)

Also ich verstehe auch nicht so ganz was du willst und mit deinem 2. Post hast du mich nur noch mehr verwirrt. Beschreibe bitte nochmal von vorne und ausführlich was genau du machen möchtest.
Falls du eine txt-Datei lokal öffnen möchtest, diese dann bearbeiten und wieder zurückspeichern willst, geht das evtl. mit JavaScript. Könnte aber komplizierter werden und kommt darauf an was du jetzt genau machen willst.


----------



## mtun (28. März 2013)

Aaaaalso, das mit den "1 2 3" wird zu "2 3 4" sollte heißen, dass die Eingaben die der User macht noch verarbeitet werden (mit JavaScript).
Ich möchte, das der Browser die Rolle eines Programms, einer exe-Datei, eines shell-Skriptes,... einnimmt.
Also z.B.: Bildbearbeitungssoftware, Textverarbeitungssoftware, ein Spiel mit Speicherstand.
Konkret will ich mit Javascript und SVG einen Graphen im Browser zeichnen. Dieser soll dann lokal auf der Festplatte zu speichern sein (und auch wieder laden). Der Browser soll also eine Datei erstellen, die man dann herunter laden kann.

http://www.w3.org/TR/file-writer-api/
hab ich mir mal angeschaut aber da werd ich nich schlau draus. Das sieht irgendwie noch nicht fertig aus.

zum Laden geht: http://www.html5rocks.com/de/tutorials/file/dndfiles/ so wie ich es haben wollte


----------

