35

我有一个 .asp 应用程序,其中图像文件 (.PDF) 存储在一个目录中(由复印机/扫描仪提供)。创建的文件名存储在数据库表中。当从网页启动查询时,会创建指向该文件的链接。单击时应显示图像。此功能在 Internet Explorer 中 100% 有效。Firefox 没有这样的运气(我有一些 Firefox 用户)。创建的超链接如下所示file://Server/Scanner/XYZ.pdf

Firefox 帮助建议原因是这样的:

到本地或网络页面的链接不起作用。作为安全预防措施,Firefox 禁止 Internet 上的站点链接到存储在本地计算环境中的文件。这些文件可能包括您计算机上的文件、映射的网络驱动器和 UNC 网络路径

解决方法的建议似乎都不起作用(或者我不理解创建图像显示的步骤)有什么建议吗?

4

10 回答 10

31

这是为安全而设计的默认 Firefox 行为。假设可能是大多数网站不知道本地文件(包括 UNC 路径)在哪里以及在哪里。

这可以在 Firefox 中关闭:

  • 在地址栏中输入“about:config”并接受“我会小心的”
  • 在旧版本中找到“security.checkloaduri”或在新版本的firefox中找到“security.fileuri.strict_origin_policy”并将值更改为“false”
  • 重启火狐

那应该为你做。您可以在此处获得更多信息:

于 2008-10-10T17:13:48.180 回答
14

火狐 >= 68.0.1

我可以使用此处提到的设置在 Firefox 中预览带有本地文件链接的图像和 PDF 文件:https ://bugzilla.mozilla.org/show_bug.cgi?id=1303727

我使用了本地文件的链接:<a href="file://N:/path/to/file.ext">test</a>

并在user.js上述设置中添加(带有调整的站点列表):

user_pref("capability.policy.policynames", "localfilelinks"); user_pref("capability.policy.localfilelinks.sites", " http://my.intranet "); user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

此外,当将 Firefox 设置为“始终询问”PDF 文件时,我能够在 Adob​​e Acrobat Reader DC 中“打开”PDF,它在访问“文件 - > 属性”时报告了预期的本地文件夹。


火狐 >= 1.5.x < 20 (ish)

在硬盘上搜索 Firefox 配置文件文件夹,例如(12345678 代表八个随机数字和字母):

  • Windows:“C:\Documents and Settings\Username\Application Data\Mozilla\Firefox\Profiles12345678.default\”
  • Linux:“/home/username/.mozilla/firefox/12345678.default/”
  • OS X:/用户名/库/应用程序支持/Firefox/Profiles/12345678.default/

在此文件夹中创建一个名为user.js的文本文件。将以下行写入该文本文件:

user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");

可在我的 PC(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选项。

于 2008-10-10T17:11:24.940 回答
6

阅读此处给出的解决方案,我点击了链接到本地​​页面的链接不起作用,对我来说,只有这个效果很好(我在本地 wamp 安装中使用 wordpress 来提供个人常见问题解答):

  • 转到“%Your Documents & Settings%\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 行将位于开头的某个位置;)。

于 2012-06-07T08:39:11.440 回答
2

您可以加载 LocalLink FireFox 附加组件,它允许您右键单击本地链接并选择“在前台窗口中打开”。其他“打开...”菜单项应该可以工作,但不适合我。

http://locallink.mozdev.org/

此外,您可以像 Alex 建议的那样使用 NoScript,它可以正常单击本地链接。谢谢亚历克斯。

于 2008-11-11T20:48:02.167 回答
2

Marko 的解决方案应该适用于本地文件系统上的链接,但我认为它不应该允许 http:// 页面链接到 file:// 页面。

此处讨论了从 http:// 页面链接的人的问题:http: //kb.mozillazine.org/Links_to_local_pages_do_not_work 以及如何规避它并使自己面临风险的解释。

于 2010-06-30T16:57:24.493 回答
1

您可以改为从磁盘读取文件,然后在页面的响应中发送它。

有关示例,请参见此链接。

于 2008-10-10T16:54:52.880 回答
1

非常感谢我几个月以来一直在寻找这个解决方案,

::这件事奏效了::

这可以在 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

::::

于 2009-12-22T13:02:17.627 回答
0

您不应该将页面真正存储在应用程序目录中并以这种方式引用它们。http://SITENAME/Server/scanner/XYZ.pdf

我们对存储在一个目录中的文件做类似的事情,只存储文件名。然后我们使用已知的文件夹名称创建链接并附加文件名。这很好用。

最后,Firefox 对文件名中斜线的方向也有更多的了解。确保它们都是“/”而不是“\”。

希望这可以帮助。

于 2008-10-10T16:32:26.187 回答
0

当心本地链接和策略管理器都为我工作的 gmarks(谷歌工具栏替换器)不兼容;本地链接更流畅一点,策略管理器给你更多控制

于 2009-04-02T19:50:25.607 回答
-1

file://localhost///servername/share/file.txt在 FF11 上为我工作

(来自本地 html 文件file:///C:/index.html:)

于 2012-04-23T05:31:04.797 回答