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, которая позволяет щелкнуть правой кнопкой мыши локальную ссылку и выбрать "Открыть в окне переднего плана". Другие пункты меню "Открыть..." должны работать, но не для меня.

http://locallink.mozdev.org/

Кроме того, вы можете использовать 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)

Другие вопросы по тегам