【问题标题】:Firefox Links to local or network pages do not workFirefox 到本地或网络页面的链接不起作用
【发布时间】:2010-09-16 13:33:36
【问题描述】:

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

Firefox 帮助提示原因是这样的:

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

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

【问题讨论】:

  • 我目前无法访问另一台服务器,但在本地共享上我的解决方案有效。
  • 2014-04-14 (FF29) bugzilla.mozilla.org/show_bug.cgi?id=995943#c5 “我们删除了整个capability.policy子系统。所以这不再起作用了。”

标签: firefox pdf asp-classic unc


【解决方案1】:

火狐>= 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,它在访问“文件 -> 属性”时报告了预期的本地文件夹。


Firefox >= 1.5.x

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

  • Windows:“C:\Documents and Settings\Username\Application Data\Mozilla\Firefox\Profiles12345678.default\”
  • Linux:“/home/username/.mozilla/firefox/12345678.default/”
  • OS X:/Username/Library/Application Support/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 选项。

【讨论】:

  • 这与 Marko Dumic 的答案相同,但他对最终用户来说更容易,而对于外部应用来说这个更容易(也许不是更好)。
  • Marko Dumic 的回答在我的情况下不起作用(Firefox 3.0.3 + Windows Server 2003 R2 SP2)。
  • @MarkBerry 刚刚对其进行了测试:它也适用于 Firefox 19 beta :D
  • @machineghost 你能再试一次吗?
  • 在回顾这个问题时,我认为我正在做的事情可能在关键方面有所不同。我在 68.0 Firefox,Linux 上。我创建了~/.mozilla/firefox/someletters.default/user.js,添加了该行,在控制台运行$('body').append('<img src="file:///someLocalFile.png" />'),然后......页面上什么也没看到。但是,如果我用远程文件替换someLocalFile.png,我确实会看到添加的图像。另外,如果我直接访问它的本地文件,它就可以工作。我只是在非本地页面上看不到本地文件……即使有了这个 pref 更改,我认为/希望可以解决它。但我实际上并没有做链接,对不起。
【解决方案2】:

阅读此处给出的解决方案,我点击了链接Links to local pages do not work,对我来说,只有这个效果很好(我在本地 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 行将位于开头的某个位置;)。

【讨论】:

【解决方案3】:

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

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

【讨论】:

【解决方案4】:

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

这里讨论了人们从 http:// 页面链接的问题: http://kb.mozillazine.org/Links_to_local_pages_do_not_work 以及如何规避它并使自己面临风险的说明。

【讨论】:

    【解决方案5】:

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

    ::这件事成功了::

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

    ::::

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

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

        http://locallink.mozdev.org/

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

        【讨论】:

          【解决方案8】:

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

          这可以在 Firefox 中关闭:

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

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

          【讨论】:

          • 偶然发现了这个。由于某种原因,这对我在 Firefox 3.0.12 上不起作用。当我将鼠标悬停在萤火虫中的路径上时,我会看到图像缩略图,因此我知道路径很好。还能是什么?
          • 你确定这仍然有效吗?我在 firefox 13.0.1 (linux) 和 13.0 (windows) 中按照您的说明进行操作。错误控制台仍然给我一个安全错误:Content at <url> may not load or link to file:///<unc>@alexandrul 的答案有效。
          • @Sebastian 它在 2008 年工作。我不确定当前的 Firefox。
          【解决方案9】:

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

          请参阅此link 以获取示例。

          【讨论】:

          • 查看我的答案中的链接。他们有一个源代码块来显示如何。谷歌“asp 响应文件”,你会发现更多示例。
          • 成功了!!!谢谢。仅供参考,尝试更改浏览器设置的所有解决方案均无效
          • 仅供参考 - 该示例有效,但只会拉取同一服务器上的文件...如果文件位于外部服务器上,则 OPEN_FILE 函数将失败。
          【解决方案10】:

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

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

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

          希望这会有所帮助。

          【讨论】:

          • 文件不在应用程序目录中。它们驻留在单独的服务器上。我的设置和你一样。您能否验证您是否可以使用 Firefox 生成图像。如果显示,您能否描述您是如何规避禁用此功能的安全检查的?
          • 你能通过IP地址引用服务器吗?如果您有权访问服务器,则可以将文件存储在 IIS 中的网站中并通过服务器的 IP 地址访问它们。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-20
          • 1970-01-01
          • 1970-01-01
          • 2013-08-14
          • 2016-02-25
          • 1970-01-01
          相关资源
          最近更新 更多