【问题标题】:File:// link doing nothing in all browsersFile:// 链接在所有浏览器中什么都不做
【发布时间】:2010-11-18 11:19:07
【问题描述】:

我正在生成一个如下所示的链接:

<a target="_blank" title="Test" href="file:///c:/test.xls">Test</a>

此链接位于 iframe 内。

当我点击它时(在任何主流浏览器中),什么都没有发生。 Fiddler 没有记录流量。 将 URL 粘贴到导航栏中可以正常工作 - 文件下载框出现,我可以下载文件没问题。

我已经尝试了所有我能想到的 URL 结构变体(正确和错误、冒号、斜杠、反斜杠等)。

我确定这是某种安全限制,但我终其一生都无法弄清楚它是什么或如何绕过它。在这一点上,我感到非常愚蠢。有什么简单的解释吗?

【问题讨论】:

  • 您不会在 Fiddler 中看到流量,因为 Fiddler 是一个 HTTP/HTTPS 调试器。 IE 阻止从 Internet 访问本地机器区域文件;其他浏览器会阻止来自非 file:// 页面的所有 File:// 访问。

标签: html file iframe uri href


【解决方案1】:

抱歉,如果您从服务器上提取此页面(以 http:// 访问它),安全设置将不允许您链接到本地​​内容(以 file:// 访问链接)。我在访问 wiki 中的共享 .doc 文件时遇到了同样的问题。从来没有想出一个好的解决方案。

【讨论】:

  • 我认为它是这样的。我不认为您有任何关于此的文档链接?今天我的谷歌搜索很糟糕......
  • 无法远程绕过此限制。任何这样做的方式都将被视为安全漏洞并进行修补。
  • 是的,我完全理解,我只是在寻找一些文件交给客户,说明为什么这对他们不起作用;)
  • 在 Chrome/Firefox 中,按 CTRL+SHIFT+J,它们的调试器将显示有用的错误消息(拒绝访问)
【解决方案2】:

尝试使用冒号代替管道;)

【讨论】:

  • 不起作用。我已经尝试了所有我能想到的冒号、斜线和管道的变体。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 2014-01-15
  • 1970-01-01
相关资源
最近更新 更多