2009-08-10 3 views
14

Я хотел бы сделать ссылку с веб-страницы на файл в локальной файловой системе и заставить ее работать во всех браузерах (или, по крайней мере, в Internet Explorer, Firefox и Chrome).Ссылка на файл в локальной системе

Например, следующие работы в Internet Explorer:

<a href="\\myserver\doc\info.pdf">Info here</a> 

, но не в Firefox и Chrome.

Есть ли способ сделать ссылку, которая работает во всех браузерах?

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

+1

Не то, чтобы это была чистая гипотеза, но файлы, «загруженные» из локальной файловой системы из общего сетевого ресурса, обычно имеют разные атрибуты безопасности, чем те, которые загружаются с веб-сервера. Таким образом, это можно рассматривать как способ обойти безопасность и, возможно, совсем не разрешается вообще в других браузерах. –

ответ

16

Ссылка на локальные файлы на страницах, которые были извлечены с помощью HTTP (S) намеренно отключена в Mozilla/Firefox, потому что они могут представлять угрозу безопасности, и есть были использованы в нападениях в прошлом.

Вы можете отменить это поведение. Для получения дополнительной информации см. this article в MozillaZine.

+0

Очень старый, но в любом случае, поскольку у меня есть проблема с этим: почему это проблема безопасности? почему это больше проблема, сравнивая с загрузкой того же файла через HTTP? – Rafiki

+0

@ Rafiki: связанная статья перечисляет некоторые риски. Если вы хотите узнать больше, это звучит как отличный новый вопрос. Подумайте об этом на https://security.stackexchange.com/. – sleske

8

попробовать предваряя свой адрес с файлом: ///

+2

Вам также понадобится преобразовать обратную косую черту для пересылки косых черт, таким образом, ваш пример будет файлом: /////myserver/doc/info.pdf. Об этом говорится в ссылке, полученной в его ответе. – Cahlroisse

Смежные вопросы