Anzeige-Stil für HTTP-Verzeichnisse wie bei lokalen Verz.

  • Hallo Experten,

    im FF (wie auch in allen anderen Browsern) gibt es die Möglichkeit, in lokalen Verzeichnissen zu navigieren - z.B. mit der Eingabe "file:\\\C:\Dokumente und Einstellungen\All Users\Desktop"

    FF positioniert sich damit in das Verzeichnis und stellt die Inhalte optisch recht ansprechend dar (div. Datei-Icons je nach Dateityp, Ordnersymbole, weisser Frame usw.).

    Wenn ich vergleichbare Inhalte über einen Web-Server (Ordner mit Web-Freigabe) publiziere und mich mit FF über HTTP-Protokoll in das Verzeichnis positioniere ("http://mein.web-server/Web-Freigabe/Ordner") sieht der Style grotten-schlecht aus! Ein wahnsinnig fetter Verzeichnispfad als Überschrift, alles zeichenorientiert und keine Icons oder Symbole; eben HTML in der langweiligsten Ausführung.

    In einer Intranet-Web-Applikation sind bei mir die Speicherorte zu einzelnen Projektordnern als HTTP-URLs verlinkt. Mittels JavaScript wird ein Browser gestartet und der URL übergeben. Wie schaffe ich es jetzt noch, die gleiche Ausgestaltung wie bei dem Aufruf von lokalen Verzeichnissen zu erhalten?

  • Nun. Bei lokalen Verzeichnissen ließt Firefox diese selbst aus und generiert entsprechend die Liste. Die Liste die Du von einer HTTP-Verbindung erhältst, wird vom jeweiligen Webserver erstellt. Firefox ist der Inhalt des Verzeichnisses nicht bekannt. Auch ist die Verzeichnisliste nur eine HTML-Seite, die im Aufbau und Struktur von Webserver zu Webserver verschieden ist, so das er nicht wissen kann, was davon Dateien oder Verzeichnisse sind.

    Kurz um: Firefox kann eine von einem Webserver gelieferte Verzeichnisliste nicht einfach umgestalten.

    Dazu bräuchtest Du jemanden mit Fachwissen in HTML/Javascript der z.B. über ein Addon bestimmte Seite umwandeln kann. Sinnvoller wäre es, dem Webserver den Firefox-Stil beizubringen. Bei guten Webservern kann man diese Liste anhand von Templates bearbeiten. Und das Template der Firefox-Listen ist auch irgendwo im Firefox hinterlegt und auslesbar.

    Ist aber ein Berg an Arbeit, weswegen ich bezweifle, dass sich das lohnt.

  • Zitat von bugcatcher

    Nun. Bei lokalen Verzeichnissen ließt Firefox diese selbst aus und generiert entsprechend die Liste. Die Liste die Du von einer HTTP-Verbindung erhältst, wird vom jeweiligen Webserver erstellt. Firefox ist der Inhalt des Verzeichnisses nicht bekannt. Auch ist die Verzeichnisliste nur eine HTML-Seite, die im Aufbau und Struktur von Webserver zu Webserver verschieden ist, so das er nicht wissen kann, was davon Dateien oder Verzeichnisse sind.

    Kurz um: Firefox kann eine von einem Webserver gelieferte Verzeichnisliste nicht einfach umgestalten.

    Dazu bräuchtest Du jemanden mit Fachwissen in HTML/Javascript der z.B. über ein Addon bestimmte Seite umwandeln kann. Sinnvoller wäre es, dem Webserver den Firefox-Stil beizubringen. Bei guten Webservern kann man diese Liste anhand von Templates bearbeiten. Und das Template der Firefox-Listen ist auch irgendwo im Firefox hinterlegt und auslesbar.

    Ist aber ein Berg an Arbeit, weswegen ich bezweifle, dass sich das lohnt.


    Das hatte ich schon irgendwie befürchtet. Aber Danke erst mal für die Ruck-Zuck-Antwort! Wegen den FF-Listen werde ich mal unseren Web-Server-Admin befragen.
    Ein zweiter Ansatz hat bislang auch nicht zum Erfolg geführt: Weil die o.g. Speicherorte in der Web-Applikation auf einen Intranet-File-Server zeigen, die auch von den Web-Clients (mit identischem Pfad) erreichbar sind, hatte ich anfangs schon die Idee, in der Web-Applikation die Speicherorte mit "file:\\\File-Server\Volume\Ordner\...\" dem Web-Client zu übergeben. Leider rafft der Browser am Client nicht, dass er einfach nur den übergebenen Pfad lokal öffnen soll - so als würde man ihn mit der Hand am Arm in die Adresszeile eintippen (was händisch auch ohne Probleme funktioniert). Dann wäre mit der Ausgestaltung auch wieder alles gut.

    Würde es sich lohnen diesen Ansatz eher weiter zu verfolgen?

  • Der Sinn dieser Aktion erschließt sich hier nicht, weil die Darstellung je nach Browser/Server/Protokoll abweicht.

    Zumindest sollt man den URL gemäß des Standards schreiben und das bedeutet keine Backslashes sondern nur Slashes. Dann klappt es auch mit

    Code
    <meta http-equiv="refresh" content="5; URL=file:///">

    oder auch

    Code
    <a href="file:///" <p>Tralala</p></a>
  • OK - Die Schreibweise in der Web-Aplikation werde ich nochmal genau unter die Lupe nehmen. Dort hatte ich bereits vor lauter Ratlosigkeit beide Schreibweisen getestet.

    Fakt bei mir ist:
    - Die Adresseingabe von "file://///[UNC-Pfad]/Ordner/Ordner" wird nicht von FF geblockt (auch nicht bei lokalen Laufwerken) und zeigt die Inhalte anstandslos an
    - Die Schreibweise funktioniert mit "file:\\\\\[UNC-Pfad]\Ordner\Ordner" ebenfalls, allerdings setzt FF in der Tat die Backslashes in Slashes eigenständig um

    Wenn ich im Clientbrowser beim Zugriff lokale Files wenigstens eine Verbotshinweis bekommen würde, wüsste ich immerhin, dass der Pfad an den Clientbrowser übergeben würde.

    Leider kann ich auch die Pfade nicht (wie von Ulli beschrieben) einfach in einen HTML-href setzen, da die Pfade in einer Datenbank stecken und von einer Web-Anwendung dem Clientbrowser übergeben werden.

    Zitat von bugcatcher

    Sinnvoller wäre es, dem Webserver den Firefox-Stil beizubringen. Bei guten Webservern kann man diese Liste anhand von Templates bearbeiten. Und das Template der Firefox-Listen ist auch irgendwo im Firefox hinterlegt und auslesbar.


    Ich habe hier den IIS 6.0 im Einsatz. Alternativprodukte kommen wg. Firmenstrategie nicht zum Einsatz. Wäre der denn der IIS 6.0 ein guter Webserver? Bei Microsoft ( http://support.microsoft.com/kb/224364 ) ist ein Standard-asp beschrieben, was einen anderen Output-Style bringen soll. Hat nebenbei aber auch nicht funktioniert.

  • Zitat von fbl2

    Fakt bei mir ist:


    - was der Benutzer in der Adressleiste darf, darf der Server noch lange nicht
    - die Schreibweise bleibt falsch. Da die Benutzer unter Windows den Slash immer wieder falsch schreiben, dreht der Fx unter Windows den Backslash um. Das gilt nicht für andere OS und Inhalte von Webseiten.

    Den Verstoß gegen die Sicherheitsregeln protokolliert die Fehlerkonsole.