- PR -

携帯電話の戻るボタン(左矢印)の挙動について

1
投稿者投稿内容
toto
常連さん
会議室デビュー日: 2005/10/18
投稿数: 46
お住まい・勤務地: 岡山
投稿日時: 2006-02-09 10:06
現在DoCoMoの携帯用サイトを開発しています。
テスト機種:
F2102V(FOMA)
P213i(ムーバ)

A、B、Cと言うページがあります。
遷移としては、A→B→C→Bとしています。
Cページには、フォームがあり、submitボタン押下を判定してBのページに戻しています。
この際に、携帯電話の戻るボタン(左矢印)を押して戻ると、B→B→B→A()という風に戻ってしまい、Cページを飛ばして戻ってしまいます。
私が調べた限りでは、戻るボタンは携帯のキャッシュを使って戻っているはずですが。
PCのブラウザや、iモードシミュレーターでは正しくB→C→B→Aと戻ります。

色々と調べた所、submitボタン押下にてBページに戻す際に、response.rediretを使用して戻すと、上記の現象が出ますが、server.transferを使用すると正常に戻ります。

なぜ、この様な現象がおきるのかご存知の方がいらっしゃいましたら、ご教授ください。

できれば、戻ったページで現在のURIを取得したい為、response,redirectで戻したいので、解決策などもございましたら、お願いします。
toto
常連さん
会議室デビュー日: 2005/10/18
投稿数: 46
お住まい・勤務地: 岡山
投稿日時: 2006-02-14 19:31
自己レスですが、原因が特定できたので記載しておきます。

response.redirectで相対パス指定を行った際に、この現象が出るようです。
解決方法としては、絶対パスで指定してあげると正常に動作しました。

response.redirectのURIを絶対パスで指定してあげてもいいのですが、
ASP.netの場合はWeb.configに<httpRuntime useFullyQualifiedRedirectUrl="true" />を追記すると、自動的に絶対パスになるようです。

また、ドコモの一部機種(N506is)で「無効なデータを受信しました。」と表示される場合も、response.redirectの相対パスが原因の様です。
この場合も、上記の方法で解決できます。

こちらにも詳細が書かれています。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19193&forum=28
1

スキルアップ/キャリアアップ(JOB@IT)