JavaScript JavaScript eine Text Datei auf Festplatte speichern

Simple Man

Lt. Commander
Registriert
Sep. 2003
Beiträge
1.420
Hallo,

Es ist klar, dass man mit JavaScript keine Dateien auf der Festplatte lesen bzw. beschreiben kann. Sicherheitsvorkehrungen, sonst würde Computerbase meine Festplatte hier lesen können.

Wie bekomme ich aber aus einer JavaScript Applikation ( paar inputfields für Text, checkboxen, radiobutton, etc) in welcher ein Benutzer paar Wörter schreiben kann doch als Text Datei auf die Festplatte? Ich habe eine Idee, aber würde gerne andere Meinungen hören.

Es gibt z.B. auf einer HTML Seite ein inputfield und der Benutzer schreibt "Hello World" hinein. Dann wird der magische Button "SAVE" geklickt. Auf der Festplatte erscheint eine neue Text .txt Datei mit dem Inhalt "Hello World".

Wie?
 
Du schreibst oben, dass es nicht funktioniert, unten hast du aber eine Idee, wie es funktioniert?! Ja was nun? Es funktioniert nicht!

Du kannst höchstens Cookies setzen, das wars dann auch schon. Und das ist auch gut so!
 
JavaScript kann auch mit anderen (Script)Sprachen kombiniert werden... und deswegen Grips anstrengen!
 
Aha und welche anderen Scriptsprachen genau beherrschen die Browser?
 
JavaScriot kann nicht auf die Fetsplatte zugreiifen, ebensowenig wie Browser keine anderen Script sprachen verstehen. Es ist in den neuen Browsern sogar so das alles in einer Sandbox läuft, ein Script hat nur zugriff auf die seite wo es ausgeführt wird.
HTMl5 unterstützt User content, musst dich mal beim W3C durchklicken.
Aber auf das Datei System zugreifen über eine Website, OMG sollte das gehen wüsste ich was ich sofort deaktiviere!!
Flash und Java Applets können sowas vlt. machen, das weiß ich nicht ......

kannst aber die eigaben an eine neue Seite schicken und per Header den Server sagen das er die Datei dem User schicken soll, sodass er selber entscheiden kann ob und wenn ja wo er sie speichern will.

P.S.
keine gute umgangsform von dir!

Edit:
http://dev.w3.org/html5/webstorage/
http://diveintohtml5.org/storage.html

aber da HTML 5 noch nicht offiziell veröffentlicht wurde wird das nicht in jedem browser klappen (wobei ich mir sicher bin das FF 5 und Chrome HTML5 fast komplett uunterstützen)

aber auch damit bekommst keine datei auf dem rechner, aber man kann bequem die eingaben die ein user macht speichern!

edit2:
Die browser können local Strorage:
IE FIREFOX SAFARI CHROME OPERA IPHONE ANDROID
8.0+ 3.5+ 4.0+ 4.0+ 10.5+ 2.0+ 2.0+
 
Zuletzt bearbeitet:
Mercsen schrieb:
Flash und Java Applets können sowas vlt. machen, das weiß ich nicht ......

Flash und Java Applets laufen in Sandboxen.
Wenn man mit einer Java Applet versucht, auf das Dateisystem zuzugreifen, fliegt einem eine Exception um die Ohren. Bei Flash existieren mehrere Regelungen für die Sandbox, die je nach Art der Flash-Anwendung geändert werden.

Simple Man schrieb:
Ich habe eine Idee, aber würde gerne andere Meinungen hören.

Wie wärs, wenn du mal deine Idee vorstellen würdest ...

Mit welchen Scriptsprachen willst du JavaScript kombinieren?
Ich glaub, du vermischst wohl serverseitige und clientseitige Scripte.

... und deswegen Grips anstrengen!
 
Hallo Simple Man!

Simple Man schrieb:
Mom, gleich... ;)

Whiz-zarD schrieb:
Ich glaub, du vermischst wohl serverseitige und clientseitige Scripte.
Da is' ja nix Schlimmes dran - manchmal sogar notwendig!

Simple Man schrieb:
JavaScript kann auch mit anderen (Script)Sprachen kombiniert werden...
RICHTIG - zB mit dem serverseitigen PHP... hier hat man die Dateisystem-Funktionen, mit denen man Dateioperationen steuern kann.

Gruß Ralf
 
User007 schrieb:
Hallo Simple Man!

RICHTIG - zB mit dem serverseitigen PHP... hier hat man die Dateisystem-Funktionen, mit denen man Dateioperationen steuern kann.

Gruß Ralf

nur leider sind die datein dann, wie serverseitig sagt, auf dem server und nicht beim Clienten.
Aber ich verstehe eh nicht so ganz den Sinn dahinter "einfach so" etwas auf die Festplatte zu schreiben, der User sollte immer die Wahl haben.
 
In der Tat ist mein erster Gedanke auch eine Kombination aus JavaScript(Client) und PHP(Server) gewesen. Das ganze steigert aber dann doch erheblich die Komplexität, zumindest für mich, um einfach eine Text Datei mit mit dem Inhalt eines Inputfields zu beschreiben.

Der Benutzer schreibt einen bestimmten Input in die JavaScript Applikation (inputfields, checkboxen, etc) und klickt dann auf den magischen "SAVE" Button. Jetzt würde der Content zum Server geschickt werden, verursacht offensichtlich traffic. Php erstellt eine temporäre oder permanente .txt Datei auf dem Server.

Wie bekommt der Benutzer aber nun am leichtesten die .txt Datei auf seinen Rechner?
Direkter Link zur Textdatei um diese selber runter zu laden oder noch besser ein popup mit "Speichern unter..."?

Der User hat die Wahl und er möchte auch den Inputfieldinhalt in dieser Textdatei auf seinem Rechner haben!!
 
User007 schrieb:
Da is' ja nix Schlimmes dran - manchmal sogar notwendig!

Ich meinte, dass er wohl meint, er könne PHP-Scripte clientseitig ausführen.

Simple Man schrieb:
Wie bekommt der Benutzer aber nun am leichtesten die .txt Datei auf seinen Rechner?
Direkter Link zur Textdatei um diese selber runter zu laden oder noch besser ein popup mit "Speichern unter..."?

Indem der Server die Daten zurückschickt.
http://php.net/manual/de/function.header.php
 
Zuletzt bearbeitet:
alles ist möglich, nur relativ umständlich.
entweder du machst das mit einem activex control, in dem eine clientseitige anwendung gestartet wird, oder mit java browser applets.

normalerweise laufen java applets im browser in einer sandbox.
um die sicherheitsvorkehrungen überwinden zu können, musst du lediglich in der lokalen java vm eigene signaturen registrieren und diese im java applet verwenden.
 
Der User selber soll keine Einstellungen ändern oder grösseres Wissen besitzen müssen. Jede Oma muss es benutzen können ^^.
 
DonnyDepp schrieb:
entweder du machst das mit einem activex control, in dem eine clientseitige anwendung gestartet wird, oder mit java browser applets.
Dies würde dann nur beim Internet Explorer funktionieren.

DonnyDepp schrieb:
normalerweise laufen java applets im browser in einer sandbox.
um die sicherheitsvorkehrungen überwinden zu können, musst du lediglich in der lokalen java vm eigene signaturen registrieren und diese im java applet verwenden.

Das würde dann auch nur funktionieren, wenn der Anwender selbst die Erlaubnis dazu gibt. Wenn man eigene Signaturen verwendet, wird der Benutzer beim Starten der Applikation gefragt, ob er der Anwendung vertrauen möchte. Wer diese Abfrage nicht haben möchte, muss die Applikation z.B. bei Oracle signieren lassen. Dies kostet aber eine Kleinigkeit.

Simple Man schrieb:
Der User selber soll keine Einstellungen ändern oder grösseres Wissen besitzen müssen. Jede Oma muss es benutzen können ^^.

Ein Webbrowser ist nun mal nicht dafür gedacht, um Texte generieren zu können, die dann auf die Festplatte gespeichert werden. Dafür gibt es Programma ala MS Office oder OpenOffice.
Wer sowas dennoch braucht, muss umwege gehen und wie gesagt, das leichteste ist, die Daten an einen Server zu schicken, der sie dann gleich wieder als generierte Textdatei zurückschickt.
 
Zuletzt bearbeitet:
Whiz-zarD schrieb:
Das würde dann auch nur funktionieren, wenn der Anwender selbst die Erlaubnis dazu gibt. Wenn man eigene Signaturen verwendet, wird der Benutzer beim Starten der Applikation gefragt, ob er der Anwendung vertrauen möchte. Wer diese Abfrage nicht haben möchte, muss die Applikation z.B. bei Oracle signieren lassen. Dies kostet aber eine Kleinigkeit.

auch mit offiziellen kostenpflichtigen Signaturen (~230€, wenn ich mich richtig entsinne) hat man keinen direkten Zugriff auf die Festplatte, einzig die Sicherheitsfrage wird dann sagen, dass dieses Java-Applet "vertrauesnswürdig" ist, erlaubt werden muss der Zugriff aber weiterhin.
 
Whiz-zarD schrieb:
User007 schrieb:
Wie bekommt der Benutzer aber nun am leichtesten die .txt Datei auf seinen Rechner?
Direkter Link zur Textdatei um diese selber runter zu laden oder noch besser ein popup mit "Speichern unter..."?
Das war aber gar nich von mir :rolleyes:

Mit mehr Hintergrundwissen könnte gezielter geantwortet werden, evtl. würden auch andere noch nicht angesprochene Lösungsvorschläge gemacht - wenn umrißartig beschrieben wäre, WOZU das ganze Konstrukt dienen soll, WELCHE Aktionen von WEM alle ausgeführt werden sollen/müssen usw.

Whiz-zarD schrieb:
Dafür gibt es Programma ala MS Office oder OpenOffice.
Danach sieht's jedenfalls für mich momentan auch aus :D

Warum soll JS benutzt werden?
 
allerdings hat google doch gerade chrome dazu gebracht C-Code zu schlucken :D
aber ich denke mal auch dort bekommt man, wenn überhaupt, keine schreibrechte auf das filesystem.

mir fällt aber auch absolut keine vernünftige anwendung dafür ein, die sachen per Header an den Clienten schicken reicht vollkommen aus und als endanwender hat man so die volle kontrolle.

in meinem programmen erzeuge ich mit fdpf (PDF lib für php) stets PDF's und schicke sie an den clienten.
 
Wie ich das sehe, kann HTML5 Files von der HDD laden, aber nicht direkt auf die HDD schreiben. html5 rocks sieht schon mal nice aus!
 
Zurück
Oben