Вопрос:
На сайте интрасети позвольте мне сказать, что я хочу связать файл с общим ресурсом с помощью UNC, по адресу:
\servernamefoldernamefilename.rtf
Кажется, правильный способ сделать это с помощью разметки следующим образом:
<a href=»file://///servername/foldername/filename.rtf»>filename.rtf</a>
Это пять косых черт – два для протокола, один для указания корня файловой системы, а затем еще два, чтобы указать начало имени сервера.
Это отлично работает в IE7, но в Firefox 3.6 он будет работать, только если html – из локального файла. Я не могу заставить его работать, когда файл поступает с веб-сервера. Ссылка “мертвая” – щелчок на ней ничего не делает.
Есть ли обходной путь для этого в Firefox? Эти два браузера должны быть все, о чем мне нужно сейчас беспокоиться.
Так как это, очевидно, функция Firefox, а не ошибка, может кто-нибудь объяснить, в чем преимущество заключается в предотвращении такого типа ссылки?
Лучший ответ:
Как оказалось, я не знал, что Firefox имеет это ограничение/функцию. Я могу сочувствовать этой функции, так как она мешает пользователю невольно получать доступ к локальной файловой системе. К счастью, есть полезные альтернативы, которые могут обеспечить аналогичный пользовательский интерфейс при использовании протокола HTTP.
Одной из альтернатив доступу к контенту через UNC-пути является публикация вашего контента с использованием протокола WebDAV. Некоторые системы управления контентом, такие как MS SharePoint, используют WebDAV для обеспечения доступа к документам и страницам. Что касается опыта конечного пользователя, он выглядит и чувствует себя так же, как доступ к сетевым файлам с UNC-путём; однако все взаимодействия с файлами выполняются через HTTP.
Это может потребовать скромного изменения в философии доступа к файлу, поэтому я предлагаю вам прочитать о протоколе, конфигурации и разрешении WebDAV, относящемся к вашей конкретной серверной технологии.
Вот несколько ссылок, которые могут быть полезны, если вам интересно узнать больше о настройке и использовании WebDAV на нескольких ведущих серверах HTTP:
- Модуль Apache mod_dav
- Расширение IIS 7.0 WebDAV
- Настройка WebDAV Server в IIS 7, 6, 5
Ответ №1
Этот вопрос задавали как минимум два раза раньше, но я не смог найти эти сообщения, прежде чем публиковать свои собственные (извините):
Откройте прямой файл на жестком диске из firefox (файл:///)
Ссылки Firefox на локальные или сетевые страницы не работают
Вот краткое изложение ответов из всех трех сообщений:
- Использовать WebDAV — это лучшее решение для меня, хотя и гораздо более активное, чем я ожидал.
- Используйте http:// вместо file:///// — это будет копировать документ, который пользователь не может редактировать и сохранять.
- Отредактируйте user.js на клиенте, как описано здесь — это работало для меня в Firefox 3.6.15, но без доступа к клиентским машинам это не решение.
- В Firefox используйте about: config, измените параметр Security.fileuri.strict_origin_policy на false — это не работает для меня в 3.6.15. Другие пользователи в [SO] также сообщили, что они не работают.
- Используйте расширение locallinks Firefox — это устанавливает для Security.fileuri.strict_origin_policy значение true для вас и не имеет другого эффекта.
- Прочитайте файл-сервер и отправьте его как ответ — это создает ту же проблему, что и просто настройка веб-сервера для использования http://.
Ответ №2
Браузеры, такие как Firefox, отказываются открывать файл://link, когда сама родительская страница HTML обслуживается с использованием другого протокола, например http://.
Лучше всего настроить ваш веб-сервер для предоставления сетевого сопоставленного файла в качестве веб-ресурса, чтобы к нему можно было получить доступ по http://с того же сервера, а не по файлу://.
Поскольку он неясно, какой веб-сервер вы используете, я не могу подробно рассказать о том, как достичь этого.
Ответ №3
В Firefox для открытия File:\\yourFileServerdocsdoc.txt например, вам нужно включить некоторые параметры в конфигурации Firefox:
user_pref(«capability.policy.policynames», «localfilelinks»); user_pref(«capability.policy.localfilelinks.sites», «http://yourServer1.companyname.com «); user_pref(«capability.policy.localfilelinks.checkloaduri.enabled», «allAccess»); Ответ №4
Я не знаю, будет ли это работать, но дайте ему шанс! Старая статья, но потенциально все еще полезна.
http://www.techlifeweb.com/firefox/2006/07/how-to-open-file-links-in-firefox-15.html