2016-11-07 60 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