Firefox Ссылки на локальные или сетевые страницы не работают
У меня есть приложение.asp, где файлы изображений (.PDF) хранятся в каталоге (подается с помощью копира / сканера). Имена созданных файлов хранятся в таблице базы данных. Когда запрос запускается с веб-страницы, создается ссылка на файл. При нажатии изображение должно отображаться. Эта функциональность работает на 100% в Internet Explorer. Нет такой удачи в Firefox (а у меня есть несколько пользователей Firefox). Созданная гиперссылка выглядит так file://Server/Scanner/XYZ.pdf
Firefox помогает предположить причину этого:
Ссылки на локальные или сетевые страницы не работают. В качестве меры безопасности Firefox запрещает сайтам в Интернете ссылаться на файлы, хранящиеся в локальной вычислительной среде. Эти файлы могут включать файлы на вашем компьютере, подключенные сетевые диски и сетевые пути UNC
Ни одно из предложений по обходному пути не работает (или я не понимаю, как создать изображение). Есть предложения?
10 ответов
Это поведение Firefox по умолчанию, разработанное для безопасности. Предполагается, что большинство веб-сайтов не знают, где и где находятся ваши локальные файлы (включая пути UNC).
Это может быть отключено в Firefox:
- введите "about:config" в адресную строку и примите "я буду осторожен"
- найдите "security.checkloaduri" в более старых версиях или "security.fileuri.strict_origin_policy" в более новых версиях Firefox и измените значение на "false"
- перезапустите Firefox
Это должно сделать это для вас. У вас есть больше информации здесь:
ОБНОВЛЕНО
Firefox 1.5.x или новее
Найдите папку профиля Firefox на жестком диске, например (12345678 обозначает восемь случайных цифр и букв):
- Windows: "C: \ Documents and Settings \ Имя пользователя \ Данные приложения \ Mozilla \ Firefox \ Profiles12345678.default \"
- Linux: "/home/username/.mozilla/firefox/12345678.default/"
- OS X: / Имя пользователя / Библиотека / Поддержка приложений /Firefox/ Профили / 12345678.default /
В этой папке создайте текстовый файл с именем user.js. Запишите следующую строку в этот текстовый файл:
user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");
Работает на моем ПК (Firefox 3.0.3 и 19.0 beta) со следующими ссылками:
<img src="file://///server/share/image.png" />
<img src="file://\\\server\share\image.png" />
<img src="file://d:\image.png" />
<img src="file:///d:\image.png" />
<img src="file://d:/image.png" />
<img src="file:///d:/image.png" />
<img src="file://localhost/d:/image.png" />
Кроме того, если вы используете надстройку NoScript, установите флажок Advanced \ Trusted \ Allow local links.
Читая решение, приведенное здесь, я перешел по ссылке. Ссылки на локальные страницы не работают, и для меня, только это работает хорошо (я использую WordPress для личного FAQ по локальной установке wamp):
- Перейдите в "% Ваши документы и настройки%\Application Data\Mozilla\Firefox\Profiles\%your profile%\"
- отредактируйте файл "prefs.js"
- добавьте следующие строки в конце документа:
,
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://localhost");
user_pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
Вы можете оставить для параметра "security.checkloaduri" значение по умолчанию, а также "security.fileuri.strict_origin_policy". Благодаря этим 3 строкам вы просто делаете исключение для своего локального сервера.
Будьте осторожны, если вам нужно вернуться к этому файлу prefs.js, обратите внимание, что Firefox упорядочит его по алфавиту. Таким образом, 3 строки, которые вы добавите в конце, будут где-то в начале;).
Решение Марко должно работать для ссылок, которые также находятся в локальной файловой системе, но я не думаю, что оно должно позволять странице http: // ссылаться на страницу file: //.
Вопрос для людей, ссылающихся со страниц http: //, обсуждается здесь: http://kb.mozillazine.org/Links_to_local_pages_do_not_work а также объясняется, как его обойти и подвергнуть себя риску.
Вы можете загрузить надстройку LocalLink FireFox, которая позволяет щелкнуть правой кнопкой мыши локальную ссылку и выбрать "Открыть в окне переднего плана". Другие пункты меню "Открыть..." должны работать, но не для меня.
Кроме того, вы можете использовать NoScript, как предлагает Алекс, который позволяет нормально щелкать локальные ссылки. Спасибо, Алекс.
Спасибо большое, я искал это решение месяцами,
:: Это сработало::
Это может быть отключено в Firefox:
* type "about:config" in the address bar and accept "i'll be careful"
* find "security.checkloaduri" in older versions or "security.fileuri.strict_origin_policy" in newer versions of firefox and change the value to "false"
* restart firefox
::::
Вместо этого вы можете прочитать файл с диска и затем отправить его в ответе со своей страницы.
Смотрите эту ссылку для примера.
Остерегайтесь несовместимости с gmarks (заменитель панели инструментов Google), у меня работали как локальная ссылка, так и менеджер политик; локальная ссылка немного плавнее, менеджер политик дает вам больше контроля
Разве вы не должны хранить страницы в каталоге вашего приложения и ссылаться на них таким образом? http://sitename/Server/scanner/XYZ.pdf.
Мы делаем нечто подобное с файлами, хранящимися в одном каталоге, и просто сохраняем имя файла. Затем мы создаем ссылку, используя известное имя папки и добавляем имя файла. это работает довольно хорошо.
Наконец, Firefox гораздо более анальный в отношении направлений косых черт в именах файлов. Убедитесь, что они все "/", а не "\".
Надеюсь это поможет.
file://localhost///servername/share/file.txt
у меня работает на FF11
(из локального HTML-файла: file:///C:/index.html
)