正确设置<a href="">本地文件时的正确方法

sam*_*old 20 html firefox file href hyperlink

我正在尝试链接到本地​​文件.我将href设置如下:

<a href="file://C:/path/to/file/file.html">Link Anchor</a>
Run Code Online (Sandbox Code Playgroud)
  • 在Firefox中,当我右键单击并"在新选项卡中打开链接"时,没有任何反应.

  • 当我右键单击并"复制链接位置",然后手动打开一个新选项卡并粘贴复制的链接,它工作正常.所以看起来我的file://语法很好.我也尝试了3个斜线,file:///但结果相同.

我究竟做错了什么?

Juk*_*ela 10

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

因此,如果您在计算机中使用HTML文档,则文件:URL应该有效,尽管它们的语法存在系统相关问题(如何在这样的URL中编写路径名和文件名).

如果您确实需要在计算机上使用HTML文档和在Web服务器上使用其他HTML文档,那么使链接工作的方法是使用本地文件作为主文件,并且如果需要,使用客户端脚本来获取文档从服务器,


Pet*_*bev 9

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

演示:

HTML(index.html)

<a href='inner/file.html'>link</a>
Run Code Online (Sandbox Code Playgroud)

目录结构:

base/
base/index.html
base/inner/file.html
....
Run Code Online (Sandbox Code Playgroud)


Jen*_*eaf 5

base 标签中的 href 值将成为所有相对路径的参考点,因此会覆盖当前目录路径值,否则 - '~' 是您网站的根目录

    <head>
        <base href="~/" />
    </head>
Run Code Online (Sandbox Code Playgroud)