Pergunta

Estou tendo um problema com IEMobile acessando meu site. Um certo uso redirecionamento I tem um código de resposta 302, e os cabeçalhos (Sim, isso é 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

Isso funciona bem para a maioria dos navegadores. Digite IEMobile (via Windows Mobile 6.1). Ao receber essa resposta, IEMobile cabeças para

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

Observe o #input-top faltando. O que posso fazer?

Foi útil?

Solução

Reading RFC2616 especifica

Localização: absoluteURI

onde absoluta URI é definida por RFC2396

Seguindo a definição de absoluteURI, o caractere # não é parte da definição URI, isto é confirmado pela secção 4.1

4.1. Fragmento Identificador

Quando uma referência URI é usado para executar uma ação de recuperação no
recurso identificado, o opcional identificador de fragmento, separado do
o URI por um crosshatch ( "#") caráter, consiste em
adicional referenciar a informação seja interpretados pelo agente de utilizador depois a acção de recuperação foi completado com sucesso. Como tal, ele não é parte de um URI, mas é muitas vezes usado em conjunto com um URI.

Em suma, o #fragment é não parte da URI, e está sendo despojado pelo navegador como não faz parte da Localização: cabeçalho.

Outras dicas

Dave está certo, pesquisando surge com alguma o mesmo problema.

solução alternativa Feio:. Utilizar uma meta tag de actualização em vez de redirecionamento se você quiser apoiar esse navegador

Há pouco pode fazer; parece ser um bug no navegador (os implementadores, aparentemente, ter perdido uma errata RFC 2616).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top