繁体   English   中英

我可以使IEMobile不从重定向的URL中删除#吗?

[英]Can I make IEMobile not strip the # from the URL of a redirect?

IEMobile访问我的网站时遇到问题。 我使用的某个重定向具有302响应代码和标头(是的,这是应用程序引擎):

Server         Development/1.0 Python/2.5.2
Date           Tue, 04 Nov 2008 16:47:02 GMT
Content-Type   text/html; charset=utf-8
Cache-Control  no-cache
Location       http://localhost/games/edit-game.html?game=110&frame_to_edit=3#input-top
Content-Length 0

这对于大多数浏览器都适用。 输入IEMobile(通过Windows Mobile 6.1)。 收到此回复后,IEMobile将前往

http://localhost/games/edit-game.html?game=110&frame_to_edit=3

注意缺少的#input-top 我能做什么?

您无能为力; 它似乎是浏览器中的错误(实施者显然错过了RFC 2616勘误表)。

阅读RFC2616它指定

位置:absoluteURI

RFC2396定义了绝对URI

跟踪absoluteURI的定义,#字符不是URI定义的一部分,这在第4.1节中得到了确认。

4.1。 片段标识符

当URI引用用于对
标识的资源,可选的片段标识符,与
横线(“#”)字符组成的URI,由附加的
成功完成检索操作后,用户代理将解释的参考信息。 因此,它不是URI的一部分,但通常与URI结合使用。

简而言之,#fragment 不是 URI的一部分,并且已被浏览器剥离,而不是Location:标头的一部分。

戴夫说的没错,Google搜索出现了同样的问题。

丑陋的解决方法:如果您要支持该浏览器,请使用元刷新标签而不是重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM