25
4

7 回答 7

17

根据定义,file: URL 是依赖于系统的,它们几乎没有用处。您的示例中的 URL 在本地使用时有效,即链接页面本身位于用户的计算机中。但是浏览器通常拒绝跟随它使用 HTTP 协议获取的页面上的 file: 链接,因此该页面自己的 URL 是 http: URL。当您单击此类链接时,什么也没有发生。目的大概是安全性:防止远程页面访问访问者计算机中的文件。(我认为这个功能首先在 Mozilla 中实现,然后复制到其他浏览器。)

因此,如果您在计算机中使用 HTML 文档,那么 file: URL 应该可以工作,尽管它们的语法存在与系统相关的问题(您如何在这样的 URL 中编写路径名和文件名)。

如果您确实需要在您的计算机上处​​理一个 HTML 文档并在 Web 服务器上处理另一个 HTML 文档,使链接工作的方法是使用本地文件作为主要文件,如果需要,使用客户端脚本来获取文档从服务器,

于 2012-08-19T06:48:20.810 回答
12

在分层目录中组织文件,然后只使用相对路径。

演示:

HTML (index.html)

<a href='inner/file.html'>link</a>

目录结构:

base/
base/index.html
base/inner/file.html
....
于 2012-08-18T20:00:10.340 回答
5

基本标记内的 href 值将成为您所有相对路径的参考点,从而覆盖您当前的目录路径值,否则 - '~' 是您网站的根目录

    <head>
        <base href="~/" />
    </head>
于 2015-09-01T18:10:19.807 回答
1

当您正在运行IIS并通过它运行 html 页面时,可能会发生这种情况,然后Local file system将无法访问。

要使您的链接在本地工作,请直接从文件浏览器而不是 Visual Studio 运行调用 html 页面,F5或者IIS只需单击它以从文件系统打开,并确保您使用的是这样的链接:

<a href="file:///F:/VS_2015_WorkSpace/Projects/xyz/Intro.html">Intro</a>
于 2016-08-27T15:31:38.287 回答
0

../htmlfilename 和 .html 用户可以这样做 这将解决您重定向到本地文件的任何页面的问题。

于 2016-03-03T01:36:19.280 回答
0

尝试将冒号换成:bar |。应该这样做

<a href="file://C|/path/to/file/file.html">Link Anchor</a>
于 2019-12-13T19:44:24.890 回答
0
于 2021-05-10T14:16:02.700 回答