2009-05-01 17 views
7

En mis páginas web de documentación, a menudo necesito proporcionar enlaces a ubicaciones, archivos y aplicaciones (.xbap) almacenados en la intranet.¿Cómo hago un hipervínculo file: // que funciona tanto en IE como en Firefox?

En IE, esto funciona muy bien con las direcciones URL con formato como esto:

<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> 

Estos enlaces todo fino trabajo bajo IE, pero en Firefox no lo hacen.

¿Alguien sabe cómo puedo formatear los enlaces anteriores para trabajar tanto en IE como en Firefox?

Editar El enlace de arriba realmente funciona si los puse en un archivo local. Dejan de funcionar solo en Firefox cuando forman parte de un archivo html en la red (no en mi máquina). Debe haber algún tipo de configuración de seguridad en Firefox que impida que los enlaces file: /// funcionen con contenido externo.

Respuesta

3

se puede consultar this link, o usted podría tratar de usar las rutas UNC.

+1

Eso es correcto. Los enlaces file: /// son correctos, pero Firefox tiene una configuración para evitar los enlaces file: /// desde sitios web externos. Probaré la extensión LocalLink. –

+0

Parece que esto también está deshabilitado en Chrome (probado en la versión 4.1). –

2

file Protocolo
Abre un archivo en una unidad local o de red.

Sintaxis

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

sDrives
Especifica la unidad local o de red.

sFile
Opcional. Especifica el archivo para abrir. Si se omite sFile y la cuenta que accede a la unidad tiene permiso para explorar el directorio, se muestra una lista de archivos y directorios accesibles.

Observaciones

El protocolo de archivos y parámetros sDrives pueden ser omitidos y sustituidos con sólo la representación de línea de comandos de la letra de la unidad y la ubicación del archivo. Por ejemplo, para navegar por el directorio Mis documentos, el protocolo de archivo se puede especificar como archivo: /// C |/Mis documentos/o como C: \ Mis documentos. Además, una sola '\' es equivalente a especificar el directorio raíz en la unidad local primaria. En la mayoría de las computadoras, esto es C :.

Disponible a partir de Microsoft Internet Explorer 3.0 o posterior.

Nota Internet Explorer 6 Service Pack 1 (SP1) ya no permite explorar un equipo local desde la zona de Internet. Por ejemplo, si un sitio de Internet contiene un enlace a un archivo local, Internet Explorer 6 SP1 muestra una página en blanco cuando un usuario hace clic en el vínculo. Las versiones anteriores de Windows Internet Explorer seguían el enlace al archivo local.

Ejemplo

el ejemplo siguiente muestra cuatro formas de usar el protocolo de archivos.

Copia

//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

+1

Estoy usando IE11 y estaba luchando para abrir una carpeta en una máquina local desde un sitio de intranet. Lo que hizo la diferencia para mí fue utilizar una barra vertical '|' en lugar de dos puntos ':' después de la letra de la unidad. Sé que esta es una vieja pregunta, pero terminé tratando de encontrar una solución para mi problema, así que pensé que sería mejor dejar un comentario para cualquier otra persona que también lo hiciera. – user1187347

0

En caso de que alguien encuentra este tema durante el uso de localhost en las URIs de archivos - Internet Explorer actúa completamente diferente si el nombre de host es localhost o 127.0.0.1 - si use el nombre de host real, funciona bien (desde sitios de confianza/zona de intranet).

Otra gran diferencia entre IE y FF - IE está muy bien con URIs como file://server/share/file.txt pero FF requiere barras adicionales file:////server/share/file.txt.

0

Pega siguiente enlace a enlace directamente debajo de evento de clic de botón, de lo contrario usar javascript para llamar código detrás de la función

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

Asegúrese de tener en cuenta que esperamos que las respuestas * específicamente * respondan a la pregunta. Si hay un código en la pregunta, su respuesta debe abordar ese código en sí. –

0

Al menos con Chrome, (no sé sobre Firefox) Puede arrastrar el icono para la izquierda de la URL en el navegador a una ubicación de carpeta en su escritorio y creará un archivo que se comporta como un atajo de Internet.

No sé si el formato de archivo es universal aún, sin embargo, Chrome parece saber qué hacer con él.

El archivo producido es un archivo .url y contiene lo siguiente:

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

Puede reemplazar la URL con cualquier cosa que le gustaría.

Cuestiones relacionadas