为什么IE10会删除外部重定向链接上的URL哈希标记

时间:2014-01-30 17:30:08

标签: html internet-explorer internet-explorer-10

我有一个基本链接:

<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:网站。

7 个答案:

答案 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)

为什么哈希后有一个尾部斜杠?

尝试https://pieworld.com/apple/#1

那会更标准。我从来没有听说过任何人在哈希链接后添加斜杠。

答案 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

更改您的网址

适用于我的