Могу ли я заставить IEMobile не удалять # из URL-адреса перенаправления? - PullRequest
0 голосов
/ 04 ноября 2008

У меня проблема с доступом 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. Что я могу сделать?

Ответы [ 3 ]

0 голосов
/ 04 мая 2009

Дейв прав, поиск в Google приводит к той же проблеме.

Уродливый обходной путь: используйте мета-тег обновления вместо перенаправления, если вы хотите поддерживать этот браузер.

0 голосов
/ 09 февраля 2010

Ты мало что можешь сделать; похоже, это ошибка в вашем браузере (разработчики, по-видимому, пропустили ошибку RFC 2616).

0 голосов
/ 04 мая 2009

Чтение RFC2616 определяет

Местоположение: absoluteURI

, где абсолютный URI определяется как RFC2396

Трассируя определение absoluteURI, символ # не является частью определения URI, это подтверждается в разделе 4.1

4,1. Идентификатор фрагмента

Когда ссылка на URI используется для выполнить поисковое действие на
идентифицированный ресурс, необязательный идентификатор фрагмента, отделенный от
URI перекрестной штриховкой ("#") символ, состоит из дополнительных
справочная информация интерпретируется пользовательским агентом после поисковое действие было успешно завершено. Как таковой, это не является частью URI, но часто используется вместе с URI.

Короче говоря, #fragment является , а не частью URI и удаляется браузером как не часть заголовка Location :.

...