Zuenni: Locales Javascript einbinden

Hi @ all

ist es möglich in eine Seite ein lokales Javascript einzubinden, also ein Javascript das auf dem client PC liegt?

ALso das zum Beispiel in www.foo.de/index.html folgendes steht:
<script type="text/javascript" src="file:///C:/Ordner_X/Datei_Y.js">

  1. ist es möglich in eine Seite ein lokales Javascript einzubinden, also ein Javascript das auf dem client PC liegt?
    <script type="text/javascript" src="file:///C:/Ordner_X/Datei_Y.js">

    Das werden die meisten Browser aus Sicherheitsgründen nicht zulassen.
    Bist du mit Greasemonkey-Scripten nicht weitergekommen? Wo lag das Problem?

    Mathias

    1. ist es möglich in eine Seite ein lokales Javascript einzubinden, also ein Javascript das auf dem client PC liegt?
      <script type="text/javascript" src="file:///C:/Ordner_X/Datei_Y.js">

      Das werden die meisten Browser aus Sicherheitsgründen nicht zulassen.
      Bist du mit Greasemonkey-Scripten nicht weitergekommen? Wo lag das Problem?

      Mathias

      Seit einer woche sitz ich jetzt an dem greasemonkes script ^^ jedes mal wenn ich ne neue idee hab wie man es doch noch schaffen könnte Endet das ganze damit das es aus sogenanten "Sicherheitsgründen" nicht möglich ist ^^

      Es gibt vermutlich auch keine möglichkeit dem Browser zu sagen das ich mir des risikos bewust bin und er das mal bitte doch tun soll?

      Zünni

      1. Warum willst du unbedingt ein lokales JavaScript nachladen? Warum reicht es dir nicht, ein lokales Script als Greasemonkey-Script zu installieren? (Das müsste meines Wissens problemlos gehen.)

        Mathias

        1. Warum willst du unbedingt ein lokales JavaScript nachladen? Warum reicht es dir nicht, ein lokales Script als Greasemonkey-Script zu installieren? (Das müsste meines Wissens problemlos gehen.)

          Mathias

          Dan erzähl ich hier mal meine Ganze Geschichte ^^

          Ich möchte zu einer Seite neue funktionen via greasemonkey hinzufügen, zum Beispiel zu www.youtube.de.

          Damit diese Funktionen Funktionieren müssen sie Daten abspeichern und natürlich auch wieder laden^^ Mit Greasemonkey kann ich natürlich beim Laden der seite Daten hinzufügen, ich kan aber zum Beispiel nicht 5 min nachdem die seite geladen wurde noch etwas machen.

          Jetzt was ich alles schon versucht habe ^^:

          1. Cookies... Problem: zu wenig Speicherplatz^^

          2. GM_set/getValue... Problem: ich kan nicht 5 min nach laden der seite per GM_setValue etwas speichern^^

          3. mit dem javascript eine .txt oder .ini datei erzeugen... Problem: das script hat die URL www.youtube.de und somit kann es nicht auf meinen PC schreiben...

          4. Per SQL Datenbank auf einem anderen server (wwwfoo.de oder so^^) Problem: ich kan zwar per form und POST methode die Daten an den server senden aber ich bekomme sie nicht wieder zurück nach www.youtube.de (ich kann die daten zwar in ein IFrame laden aber darauf nicht zugreifen ^^)

          5. per AJAX die daten von meinem server nachladen Problem: Firefox 3.5 unterstüzt zwar sogar cross-domain-xmlhttprequests aber die Server müssten es dafür auch unterstützen und das tun sie nicht

          6 meine letzter trickreicher mogelversuch:
          Ich schicke die werte die ich speichern will einzelnt per GET aus einem IFrame an speichern.html auf meiner platte diese HTML datei hat nen javascript drin welches die daten in eine datei namens neuesScript.js schreibt und zwar nach dem shema: var "speichername" = "speicherwert" schreibt.
          Und dieses .js datei binde ich dan wieder per Greasemonkey in die seiten ein^^ was aber scheinbar auch net funzt

          Wenn jetzt noch irgendwer ne exotische Idee hat, ich bin für alles offen^^

          1. ich kan aber zum Beispiel nicht 5 min nachdem die seite geladen wurde noch etwas machen.

            Wieso kannst du das nicht? Du kannst in JavaScript Timeouts und Intervalle setzen, außerdem kannst du allen möglichen Elementen Event-Handler verpassen. Es dürfte kein Problem sein, eine JavaScript-Funktion genau fünf Minuten nach dem Laden auszuführen.

            1. Cookies... Problem: zu wenig Speicherplatz^^

            Firefox unterstützt localStorage, da kannst du ziemlich viel Daten drin speichern.

            1. GM_set/getValue... Problem: ich kan nicht 5 min nach laden der seite per GM_setValue etwas speichern^^

            Siehe oben.

            1. mit dem javascript eine .txt oder .ini datei erzeugen... Problem: das script hat die URL www.youtube.de und somit kann es nicht auf meinen PC schreiben...

            Ja, damit wirst du wohl nicht weiterkommen.

            1. Per SQL Datenbank auf einem anderen server (wwwfoo.de oder so^^) Problem: ich kan zwar per form und POST methode die Daten an den server senden aber ich bekomme sie nicht wieder zurück nach www.youtube.de (ich kann die daten zwar in ein IFrame laden aber darauf nicht zugreifen ^^)

            Das ginge über JSONP (ein Script vom anderen Server einbinden, welches eine Funktion aufruft und ihr JavaScript-Daten übergibt) oder eben Cross-Site XMLHttpRequest.

            1. per AJAX die daten von meinem server nachladen Problem: Firefox 3.5 unterstüzt zwar sogar cross-domain-xmlhttprequests aber die Server müssten es dafür auch unterstützen und das tun sie nicht

            Der Server muss nur einen speziellen HTTP-Header senden (z.B. Access-Control-Allow-Origin: *). Das ist z.B. mit einem PHP-Script auf dem Server kein Problem. Irgendeine serverseitige Programmiersprache wirst du wohl haben, um die Daten zu speichern?

            Mathias

            1. Firefox unterstützt localStorage, da kannst du ziemlich viel Daten drin speichern.

              Dan würd ich das doch gerne als nächtes probieren ^^
              Aber wie benutze ich das? was muss ich dazu in mein script schreiben?
              Oder am besten gleich: Wie schreibe ich datne, wie lese ich sie wieder?

              Zünni

              1. Wie schreibe ich datne, wie lese ich sie wieder?

                localStorage.schluessel = "wert";
                alert(localStorage.schluessel);

                http://hacks.mozilla.org/2009/06/localstorage/

                Mathias

                1. Wie schreibe ich datne, wie lese ich sie wieder?

                  localStorage.schluessel = "wert";
                  alert(localStorage.schluessel);

                  http://hacks.mozilla.org/2009/06/localstorage/

                  Mathias

                  Danke!

                  Funktioniert echt super und Problemlos^^
                  Und es ist so einfach bzw. es sind so wenig zeilen im Gegensatzt zu dem was ich sonst alles versucht hab ;)

                  Zünni