IEMobile访问我的网站时遇到问题。我使用的某个重定向有302响应代码和标题(是的,那是app-engine):

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 。我该怎么办?

有帮助吗?

解决方案

阅读RFC2616指定

  

位置:absoluteURI

其中绝对URI由 RFC2396 定义

跟踪absoluteURI的定义时,#字符不是URI定义的一部分,这由第4.1节确认。

  

4.1。片段标识符

     

使用URI引用时   对
执行检索操作   识别资源,可选   片段标识符,与
分开   交叉线(“#”)的URI   字符,由额外的
组成   参考信息   由用户代理解释   检索行动已经   成功完成。就这样,它   不是URI的一部分,但通常是   与URI结合使用。

简而言之,#frarag是不是的URI的一部分,并且被浏览器剥离,因为它不是Location:标题的一部分。

其他提示

戴夫是对的,谷歌搜索出现了同样的问题。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top