IEMobile がリダイレクトの URL から # を削除しないようにできますか?

StackOverflow https://stackoverflow.com/questions/262443

  •  06-07-2019
  •  | 
  •  

質問

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. 。私に何ができる?

役に立ちましたか?

解決

RFC2616を読むと規定されています

位置:絶対URI

ここで、絶対 URI は次のように定義されます。 RFC2396

AbsoluteURI の定義を追跡すると、# 文字は URI 定義の一部ではありません。これはセクション 4.1 で確認されています。

4.1.フラグメント識別子

URIリファレンスを使用して検索アクションを実行する場合
識別されたリソース、オプションのフラグメント識別子、から分離
Crosshatch( "#")文字によるURIは、追加で構成されています
検索アクションが正常に完了した後、ユーザーエージェントによって解釈される参照情報。そのため、それはURIの一部ではありませんが、URIと組み合わせて使用​​されることがよくあります。

つまり、#fragment は ない URI の一部であり、場所の一部としてブラウザによって削除されます。ヘッダ。

他のヒント

デイブは正しい、グーグルはいくつかの同じ問題を思い付く。

Uい回避策:ブラウザをサポートする場合は、リダイレクトではなくメタリフレッシュタグを使用します。

できることはほとんどありません。ブラウザのバグのようです(実装者は明らかにRFC 2616エラッタを見逃しています)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top