2016-11-07 57 views
1

我有以下代码链接到C:\ Test子文件夹中的HTML页面。如何忽略禁用标题中的散列HTML HRef锚点

<a href= "M/Index.html">M stuff</a><br /> 
<a href= "X#/Index.html">X# stuff</a><br /> 
<a href= "c:/Test/X#/Index.html">X# stuff</a><br /> 

浏览器无法通过第二行找到X#索引文件。我找到的唯一解决方案是指定完整路径(如第三行)。

我意识到这个问题是由href属性中的#符号引起的。有没有什么办法可以让哈希符号成为位置引用的一部分,就像在我的例子中一样,没有指定完整的路径名?

回答

0

看看url编码你需要对#进行编码,以便它被读作一个简单的字符。有关更多信息,请参阅this article on MDN

百分比编码是编码具有在URL中的上下文中的具体含义8位字符的机制。它有时被称为URL编码。编码由替换组成:A'%',后面跟着替换字符的ASCII值的十六进制表示。

总之,#可以使用%23,所以编码:

<a href="X%23/Index.html">X# stuff</a> 
+0

大,这是否有预期的效果,但我注意到,从链接页面的颜色不适合改变在回报第二行或第三行(就像第一行那样,即常用的默认效果)。我想这也是由于哈希符号。这是什么解释? – StuKay

+0

我已重新测试过程。从行中回溯,一个链接确实会突出显示引用,而另一个则不会。我试图投票你的答案,但系统不认可我,因为我的声誉低于15. – StuKay

+0

@StuKay你使用什么浏览器,因为我不能再现这个... – jcuenod