Как мне создать гиперссылку на файл: //, которая работает как в IE, так и в Firefox?

StackOverflow https://stackoverflow.com/questions/811570

Вопрос

На моих веб-страницах документации мне часто приходится указывать ссылки на местоположения, файлы и приложения (.xbap), хранящиеся в интрасети.

В IE это прекрасно работает с URL-адресами, отформатированными следующим образом:

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

Все эти ссылки прекрасно работают в IE, но в Firefox они не работают.

Кто-нибудь знает, как я могу отформатировать приведенные выше ссылки для работы как в IE, так и в Firefox?

Редактировать Приведенная выше ссылка действительно работает, если я помещу их в локальный файл.Они перестают работать только в Firefox, когда являются частью html-файла в сети (не на моем компьютере).В Firefox должна быть какая-то настройка безопасности, которая предотвращает работу ссылок file: ///, поступающих из внешнего контента?

Это было полезно?

Решение

Вы могли бы проверить эта ссылка, или вы могли бы попробовать использовать UNC-пути.

Другие советы

просто используй

file:///

насколько я могу судить, работает в IE, Firefox и Chrome.

видишь http://msdn.microsoft.com/en-us/library/aa767731 (ПРОТИВ 85).aspx для получения дополнительной информации

файловый Протокол
Открывает файл на локальном или сетевом диске.

Синтаксис

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

Приводы
Указывает локальный или сетевой диск.

сФайл
Необязательно.Указывает файл, который нужно открыть.Если sFile опущен и учетная запись, получающая доступ к диску, имеет разрешение на просмотр каталога, отображается список доступных файлов и директорий.

Замечания

Файловый протокол и параметр sDrives можно опустить и заменить только представлением буквы диска и расположения файла в командной строке.Например, для просмотра каталога "Мои документы" файловый протокол может быть указан как file:///C|/Мои документы/ или как C:\My Documents.Кроме того, один символ "\" эквивалентен указанию корневого каталога на основном локальном диске.На большинстве компьютеров это C:.

Доступно начиная с Microsoft Internet Explorer 3.0 или более поздней версии.

Примечание Internet Explorer 6 с пакетом обновления 1 (SP1) больше не позволяет просматривать веб-страницы на локальном компьютере из зоны Интернета.Например, если интернет-сайт содержит ссылку на локальный файл, Internet Explorer 6 SP1 отображает пустую страницу, когда пользователь нажимает на ссылку.Предыдущие версии Windows Internet Explorer переходили по ссылке на локальный файл.

Пример

Следующий пример демонстрирует четыре способа использования файлового протокола.

Копировать

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

На случай, если кто-то другой обнаружит эту тему при использовании localhost в файле URIs - Internet Explorer действует совершенно по-другому, если имя хоста localhost или 127.0.0.1 - если вы используете фактическое имя хоста, оно работает нормально (с доверенных сайтов / зоны интрасети).

Еще одно большое различие между IE и FF - IE подходит для URI, таких как file://server/share/file.txt но FF требует дополнительных косых черт file:////server/share/file.txt.

Вставьте следующую ссылку непосредственно под событием нажатия кнопки link, в противном случае используйте javascript для вызова кода, стоящего за функцией

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

По крайней мере, с Chrome (я не знаю насчет Firefox). Вы можете перетащить значок слева от URL-адреса в браузере в папку на вашем рабочем столе, и это создаст файл, который будет вести себя как интернет-ярлык.

Я еще не знаю, является ли формат файла универсальным, однако Chrome, похоже, знает, что с ним делать.

Созданный файл представляет собой .url файл и содержит следующее:

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

Вы можете заменить URL-адрес на все, что пожелаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top