10 Stimmen

Wie erstelle ich einen file://-Hyperlink, der sowohl im IE als auch in Firefox funktioniert?

In meinen Dokumentations-Webseiten muss ich oft Links zu Orten, Dateien und Anwendungen (.xbap) bereitstellen, die im Intranet gespeichert sind.

Im IE funktioniert dies problemlos mit URLs, die wie folgt formatiert sind:

<a href="file://///company.org/ProjectA/StatsReport">Go to folder</a>
<a href="file://///company.org/ProjectA/Readme.txt">Download file</a>
<a href="file://///company.org/ProjectA/Dashboard.xbap">Run xbap</a>

Diese Links funktionieren alle problemlos im IE, aber nicht im Firefox.

Weiß jemand, wie ich die obigen Links so formatieren kann, dass sie sowohl im IE als auch in Firefox funktionieren?

bearbeiten Der obige Link funktioniert tatsächlich, wenn ich sie in einer lokalen Datei ablege. Sie funktionieren nur in Firefox nicht mehr, wenn sie Teil einer HTML-Datei im Netzwerk (nicht auf meinem Rechner) sind. Es muss eine Art Sicherheitseinstellung in Firefox geben, die verhindert, dass file:///-Links von externen Inhalten aus funktionieren?

6voto

Ian G Punkte 28438

Verwenden Sie einfach

file:///

funktioniert in IE, Firefox und Chrome, soweit ich das beurteilen kann.

siehe http://msdn.microsoft.com/en-us/library/aa767731(VS.85).aspx für weitere Informationen

5voto

ArturasJ Punkte 51

Datei Protokoll
Öffnet eine Datei auf einem lokalen oder Netzlaufwerk.

Syntax

Copy
 file:///sDrives[|sFile]
Tokens 

sDrives
Gibt das lokale oder Netzlaufwerk an.

sFile
Optional. Gibt die zu öffnende Datei an. Wenn sFile weggelassen wird und das Konto, das auf das Laufwerk zugreift, die Berechtigung hat, das Verzeichnis zu durchsuchen, wird eine Liste der zugänglichen Dateien und Verzeichnisse angezeigt.

Bemerkungen

Das Dateiprotokoll und der Parameter sDrives können weggelassen und nur durch die Befehlszeilendarstellung des Laufwerksbuchstabens und des Dateispeicherorts ersetzt werden. Um beispielsweise das Verzeichnis Eigene Dateien zu durchsuchen, kann das Dateiprotokoll als file:///C|/My Documents/ oder als C:\My Dokumente. Darüber hinaus ist ein einzelnes "\" gleichbedeutend mit der Angabe des Stammverzeichnisses auf dem primären lokalen Laufwerk. Auf den meisten Computern ist dies C:.

Verfügbar ab Microsoft Internet Explorer 3.0 oder höher.

Hinweis: Internet Explorer 6 Service Pack 1 (SP1) erlaubt es nicht mehr, einen lokalen Rechner von der Internetzone aus zu durchsuchen. Wenn beispielsweise eine Internetsite einen Link zu einer lokalen Datei enthält, zeigt Internet Explorer 6 SP1 eine leere Seite an, wenn ein Benutzer auf den Link klickt. Frühere Versionen von Windows Internet Explorer folgten dem Link zu der lokalen Datei.

Ejemplo

Das folgende Beispiel zeigt vier Möglichkeiten zur Verwendung des Dateiprotokolls.

Kopieren

//Specifying a drive and a file name. 

file:///C|/My Documents/ALetter.html

//Specifying only a drive and a path to browse the directory. 

file:///C|/My Documents/

//Specifying a drive and a directory using the command line representation of the directory location. 

C:\My Documents\

//Specifying only the directory on the local primary drive. 

\My Documents\

http://msdn.microsoft.com/en-us/library/aa767731

0voto

Knaģis Punkte 20119

Für den Fall, dass jemand anderes dieses Thema bei der Verwendung von localhost in den Datei-URIs - Internet Explorer verhält sich völlig anders, wenn der Hostname localhost o 127.0.0.1 - Wenn Sie den tatsächlichen Hostnamen verwenden, funktioniert es gut (von vertrauenswürdigen Sites/Intranet-Zone).

Ein weiterer großer Unterschied zwischen IE und FF - IE kommt gut mit Uris wie file://server/share/file.txt aber FF erfordert zusätzliche Schrägstriche file:////server/share/file.txt .

0voto

Raj Punkte 790

Fügen Sie den folgenden Link direkt unter dem Klick-Ereignis des Link-Buttons ein, ansonsten verwenden Sie Javascript, um den Code hinter der Funktion aufzurufen

Protected Sub lnkOpen_Click(ByVal sender As Object, ByVal e As EventArgs) 
    System.Diagnostics.Process.Start(FilePath)
End Sub

0voto

aaiezza Punkte 1228

Zumindest mit Chrome (bei Firefox weiß ich es nicht) können Sie das Symbol links neben der URL im Browser auf einen Ordner auf Ihrem Desktop ziehen, und es wird eine Datei erstellt, die sich wie eine Internetverknüpfung verhält.

Ich weiß nicht, ob das Dateiformat schon universell ist, aber Chrome scheint zu wissen, was damit zu tun ist.

Die erzeugte Datei ist eine .url Datei und enthält Folgendes:

[InternetShortcut] URL=http://www.accordingtothescriptures.org/prophecy/353prophecies.html

Sie können die URL durch alles ersetzen, was Sie möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X