Hallo,
ich hoffe, ihr könnt mir helfen.
Ich habe mir vorgenommen, JavaScript zu erlernen. Und da die Übung schließlich den Meister macht, dachte ich mir, ich schreibe mal ein Minitool. Für dieses Tool werden gewissen Daten benötigt (zu umfangreich für Cookies). Tool läuft lokal auf einem Rechner (braucht also wg. besonderer Rechte keine Signatur). Daten sind strukturiert (also z.B. id, text1, text2, audio1 etc). Vorerst zumindest unter aktuellem Firefox lauffähig.
Ich möchte, sozusagen als Fingerübung, aber auch um nicht wieder bei Java oder C++ zu landen (ich will ja JavaScript lernen) diese Daten über Browser mit JavaScript erfassen und in einer lokalen Datei speichern. Grundsätzlich ist das ja eher nicht erlaubt, aber wie gesagt, das komplette Tool läuft ja lokal.
Erster Ansatz: Ein Applet schreiben (kein JavaScript, aber Details bin ich auch bereit auszulagern), der diese Daten einliest und als Objekte an JavaScript zurückliefert. Ich schaffe es zwar, dieses Applet aufzurufen, aber sobald ich versuche, im Script anschließend auf die Methoden des zurückgegebenen Objekts zuzugreifen, bekomme ich die Fehlermeldung, daß dieses Objekt über keine solche Eigenschaften verfügt. Meiner Meinung nach erkennt JavaScript diese Objekte nicht als komplexe Objekte.
Zweiter Ansatz:
netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead')
somit sollte auch ein unsigniertes _lokales_ Script _lokale_ Dateien lesen dürfen. Es kommt auch entsprechende Aufforderung, dem Script mehr Rechte zuzuweisen. Leider kommt dann bei dem Versuch, auf eine Datei zuzugreifen zu einer Exception (ich fand leider noch nicht heraus, welchen). Der Zugriff sieht so aus:
var br = new java.io.BufferedReader(new java.io.FileReader(fileName));
Ich habe sogar extra in der .java-policy alles (Lesen, Schreiben etc) in entsprechendem Verzeichnis erlaubt => keine Wirkung.
Laut der Information aus Internet sollten beide Methoden bei mir funktionieren. In Wirklichkeit tut es aber keine.
Weiß jemand, woran das liegen kann? Kennt jemand, wie das sonst noch bewerkstelligt werden kann? Alternativ auch unter IE?
Ich weiß, daß ich das mit anderen Programmier-/Scriptsprachen als nicht-Browser-Tool ruckzuck hinbekomme, aber es geht ja um die Übung (der Weg ist hier das Ziel).
Vielen Dank schon im Voraus,
Lida