Frage

ich habe ein Problem mit IEMobile meiner Website zugreifen. Eine gewisse Umleitung Ich benutze hat einen 302-Antwort-Code und die Header (yep, das ist 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

Dies funktioniert für die meisten Browser. Geben Sie IEMobile (via Windows Mobile 6.1). Auf diese Antwort empfängt, IEMobile Köpfe zu

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

Beachten Sie die fehlenden #input-top. Was kann ich tun?

War es hilfreich?

Lösung

Reading RFC2616 es gibt

  

Lage: absoluteURI

, wo absolute URI ist definiert durch RFC2396

die Definition von absoluteURI Tracing, das Zeichen # nicht Teil der URI-Definition ist, wird dies durch Abschnitt bestätigt 4.1

  

4.1. Fragment Identifier

     

Wenn eine URI-Referenz verwendet wird, um   eine Abruf Aktion auf dem
ausführen   identifizierten Ressource, die optional   Fragmentbezeichner, getrennt von
  die URI von einem Kreuzschraffur ( „#“)   Charakter, besteht aus zusätzlichen
  Referenzinformationen sein   vom Benutzerprogramm interpretiert, nachdem   der Abruf Aktion wurde   erfolgreich abgeschlossen. Als solches ist es   oft ist nicht Teil einer URI, sondern ist   in Verbindung mit einem URI verwendet.

Kurz gesagt, die #fragment ist nicht Teil der URI, und durch den Browser wird als nicht Teil der Location gestrippt: header.

Andere Tipps

Dave richtig ist, googeln kommt mit einigen der gleichen Ausgabe auf.

Hässliche Abhilfe:. Verwenden, um einen Meta-Refresh-Tag statt Umleitung, wenn Sie diesen Browser unterstützen mögen

Es gibt wenig, was Sie tun können; es scheint ein Fehler in Ihrem Browser zu sein (die Implementierer haben offenbar einen RFC 2616 Erratum verpaßt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top