我有一个基本链接:
<a href="https://pieworld.com/apple#1/" target="_blank">Free Pie Here</a>
但是当我点击它时,我被重定向到https://pieworld.com/apple
不包括散列标记之后的所有内容以及散列。这只发生在IE10中。我已经在没有target="_blank"
的情况下进行了测试,但链接仍然在哈希中断。
似乎找不到任何关于此的文档。我最接近的是this SO question,但它没有帮助。
一些可能有用的背景信息:
这是一个.Net网站
我正在从http:
重定向到https:
网站。
答案 0 :(得分:1)
根据RFC3986 http://tools.ietf.org/html/rfc3986,使用此格式并不合适。您应该删除尾部斜杠。如果您有一个尾部斜杠,则它指向服务器中的目录。没有它,您指向一个文档,并使用哈希标记,您可以指向文档的一部分。 See example here
答案 1 :(得分:0)
哈希字符用于URL中的书签。要将哈希字符用作URL本身的一部分,您需要使用%23
对其进行URL编码:
<a href="http://pieworld.com/apple%231/" target="_blank">Free Pie Here</a>
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为,正如其他人建议的那样,您尝试导航到的网站可能将/#1
解释为父页/文档中的文件夹/页面。尝试在#1
之前删除正斜杠或在html中查找标题的ID /名称标记,以便直接链接。
也可能是IE10中的一个错误。
-Phantom
答案 4 :(得分:0)
任何包含#字符的URL都是片段URL。 #左侧URL的部分标识可以由浏览器下载的资源,右侧的部分(称为片段标识符)指定资源中的位置。
http://www.httpwatch.com/features.htm#print
在HTML文档中,浏览器会查找id属性与片段匹配的元素。例如,在上面显示的URL中,浏览器在“打印支持”标题中找到匹配的标记:
<h3 id="print">Printing Support</h3>
并滚动页面以显示该部分。
我不确定是否支持哈希之后的斜杠。如果您不打算将其用作碎片网址,则应删除哈希值或替换它。
答案 5 :(得分:0)
Location头字段的语法已更改为允许所有URI引用,包括相对引用和片段, 以及关于何时使用碎片不合适的一些澄清。 (第7.1.2节)
有关详情,请查看this详尽的信息。
答案 6 :(得分:-1)
当后退按钮单击IE9,IE10 IE11
时,从网址中删除了哈希在IE10浏览器中,第一次点击HREF链接时,会出现以下正确的网址:http://www.example.com/yy/zz/ff/paul.html#20007_14
如果从IE10浏览器单击后退按钮并再次单击HREF链接,则会显示以下网址:http://www.example.com/yy/zz/ff/paul.html
解决方案:
请使用https
更改您的网址适用于我的