Lokale Ordner mit dem Explorer öffnen (user.js)

  • Howdy,

    Ich hab nach ner halben Stunde durchforsten des Forums leider keine Antwort auf meine Frage gefunden
    Mein Problem: Ich möchte lokale Ordner vom Intranet-Portal aus mit dem Windows-Explorer öffnen.
    Wohlgemerkt ohne irgendwelche Firefox-Addons(!).
    Die Verlinkung zu den Ordnern ist in Ordnung.
    Um lokale Links im FF13 anklickbar zu machen, habe ich mir NoScript geholt.
    Die Verzeichnisse werden jetzt im Firefox dargestellt, was mir aber nicht ausreicht.
    Ich möchte, dass beim Klick auf den File-Link der Explorer aufgeht.
    Dazu habe ich mich auch schon dumm und dusselig gegoogled und hab was von den Variablen
    "network.protocol-handler.expose.(protocol)" (für die Entscheidung zuständig, ob der Firefox den Link öffnen soll oder nicht)
    und
    "network.protocol-handler.external.(protocol)" (für die Entscheidung zuständig, ob der Link intern oder extern behandelt werden soll)
    gelesen.
    Also habe ich diese in der about:config kurzerhand mal angelegt...
    network.protocol-handler.expose.file = false
    network.protocol-handler.external.file = true

    Danach habe ich einen File-Link geklickt und wurde gefragt, mit welchem Programm ich ihn öffnen möchte.
    Windows Explorer ausgewählt und schwupps wurde der Ordner einwandfrei angezeigt.

    Jetzt kommt der Haken an der Sache:
    Ich schließe den Firefox, öffne ihn wieder und die Variable "network.protocol-handler.expose.file" war auf einmal futsch.
    Die Variable "network.protocol-handler.external.file" blieb aber bestehen.
    Die File-Links wurden also wieder im Firefox geöffnet.

    Jetzt hab ich mir auch schon eine "user.js" in meinem Profil-Ordner angelegt und versucht die Variable dort zu setzen.

    Code
    user_pref("network.protocol-handler.expose.file", false);


    Das lässt den Firefox aber scheinbar völlig unbeeindruckt...
    Der FF legt die Variable "network.protocol-handler.expose.file" zwar an, jedoch steht sie auf "true" statt "false".

    langsam bin ich ratlos... hoffe ihr wisst da eventuell weiter...

    mfg Koopz

    Einmal editiert, zuletzt von Koopz (24. Juli 2012 um 15:22)

  • das letzte Anführungszeichen (hinter dem Semikolon) ist auf jeden Fall verkehrt. Schreibe es also lieber so:

    Code
    user_pref("network.protocol-handler.expose.file", false);
  • pcinfarkt,
    Ich dachte da eher an das direkte Öffnen des Ordners im Explorer beim Linksklick auf einen File-Link.
    Ich würde mir wirklich gerne den Weg über das Kontext-Menü ersparen.

    Und laut meinem bisherigen Kenntnisstand ist das auch durchaus möglich, nur versteh ich beim Besten Willen nicht, warum mir der Fuchs die Variable überschreibt...

  • Hmpf...
    Bin auf ein neues Problem gestoßen und hab mir gedacht ich schreibs gleich mit hier rein, um den Googlern weitere Recherchen zu ersparen...
    Also mit den Verlinkungen scheint das ganze so lange zu funktionieren, bis Umlaute ins Spiel kommen.

    Bin nicht so tief in der Browser-Materie drin, aber ich vermute mal, dass der FF den Link URL-enkodiert, sobald man draufklickt, lieg ich da richtig?

    Wenn ja, kann man die Kodierung fürs File-Protokoll ausschalten?
    Dem Windows Explorer scheinen "%C3%B6" (ö) und Konsorten nämlich anscheinend nicht zu schmecken... Leerzeichen ("%20") scheinen aber zu funktionieren

    Edit: Nach etwaigen Recherchen bin ich dann doch wieder auf die Lösung gekommen.
    Der Windows Explorer kommt sehr wohl mit enkodierten Links zurrecht, das Problem war der Ausgangs-String, der umgewandelt wurde. "%C3%B6" ergibt nämlich kein "ö" sondern "ö". Also mussten die Links wohl oder übel von Hand enkodiert werden, anstatt das dem Browser zu überlassen.

    Habe im PHP-Code für die Generierung der File-Links die beiden folgenden Funktionen auf die Ordnernamen angewendet:

    Code
    rawurlencode(utf8_decode($string))


    Und dann klappte das alles auch gleich wieder wunderbar...