0

ちょっと、そこ!これが私の問題です。ブラウザの問題である可能性がありますが、ヘルプ/アイデアは素晴らしいでしょう!

ほとんどの場合、次のリダイレクトがあります。

header("Location: page.php#images");

最近のほとんどのブラウザーでは問題なく page.php#images にリダイレクトされますが、IE では #images が取り除かれているようです。誰かがこれに出くわしましたか?これまでのところ、私の唯一のオプション (ひどいオプションだと思います) は、JavaScript を介してリダイレクトすることです。

ありがとう!

更新
単純なサンドボックスを送信しましたが、絶対 URL の有無にかかわらず正常に動作するようです。私の実際のアプリでは、それと競合している何か他のことが起こっていると思います。わかり次第更新していきます、たくさんの回答ありがとうございます!

更新 2
問題が何であるかはわかりましたが、修正についてはまだわかりません。それを壊していたのはファイル入力だったことがわかりました。http://www.stiprojects.com/anchor/で動作を確認できますが 、Firefox では問題なく動作しますが、IE では機能しません。リダイレクトのソース コードは次のとおりです。

header("Location: http://www.stiprojects.com/anchor/index.php?one=1&two=2#/images");

私が見ていないものが見えますか?私は困惑している!

4

2 に答える 2

2

ヘッダーには、 HTTP 仕様Locationに従って絶対パスが必要です。絶対パスを使用してみてください。正誤表によると、ドキュメント フラグメント (#id) は Location ヘッダーで許可されていますが、ユーザーがフラグメントを含むページにリンクされている場合 (例:へのリダイレクト先) は未定義です。http://example.org/a_redirector#thisa_redirectorhttp://example.com/destination#that

于 2009-06-08T02:06:17.960 に答える
1

はい、それは本当です。絶対パスを使用すると回避できます。

header("Location: http://www.example.com/page.php#images");
于 2009-06-08T01:58:37.177 に答える