5 слешей для кросс-браузерного файла URI
Я использую <a href="file:...">
ссылки внутри интранета для доступа к локальной папке.
Меня беспокоит количество косых черт, которые я должен написать в этих URI для кросс-браузерной совместимости.
Internet Explorer 11.904.16299.0
file://server/share/path/to/file ok
file:///server/share/path/to/file KO
file:////server/share/path/to/file ok
file://///server/share/path/to/file ok
Edge 41.16299.820.0
file://server/share/path/to/file ok
file:///server/share/path/to/file KO
file:////server/share/path/to/file ok
file://///server/share/path/to/file ok
Firefox 60.0 with Local Filesystem Links Extension
file://server/share/path/to/file KO
file:///server/share/path/to/file KO
file:////server/share/path/to/file KO
file://///server/share/path/to/file ok
Когда я ищу ответы в Stack Overflow или аналогичных, я в конечном итоге в этих сообщениях, говоря, что правильная сумма составляет 3 слеша.
- https://superuser.com/questions/352133/why-do-file-urls-start-with-3-slashes
- Почему HTTP:// содержит две косые черты и file:/// three в браузере?
Я пишу этот вопрос и отвечаю на него, если кто-то запутается, как я.
1 ответ
Важно различать 2 типа <a href="file:...>"
ссылки: локальные пути и пути UNC.
URI локального пути
Это путь к файлу, доступному на клиентском компьютере, либо потому, что файл находится в его локальном хранилище, либо потому, что он доступен через подключенный диск / подключенную папку.
Эти URI занимают 3 слеша:
file:///p:/share/path/to/file
file:////mnt/share/path/to/file
Четвертая косая черта для второго примера - корень UNIX /
,
UNC путь URI
Формат, который я показываю в моем вопросе, file://///server/share/path/to/file
, известный как путь UNC.
Это путь, доступный с клиентского компьютера через внутренний URI, например my.server.com
, В Windows, например, это когда вы используете URI сервера для доступа к файлу, а не к его букве подключенного диска.
Эти URI занимают 5 слешей:
file://///my.server.com/share/path/to/file
Ссылки, которые помогли мне ответить на мой вопрос:
- http://kb.mozillazine.org/Links_to_local_pages_do_not_work
- https://en.wikipedia.org/wiki/Path_(computing)
Раздел "о" расширения ссылок на файловую систему Firefox также говорит об этом: