1

サイトのサブ フォルダー (例: /mobile/page.asp) にある Web サイトのモバイル バージョンを開発したという奇妙な問題があります (.asp クラシックが私を責めないことはわかっています!)。

モバイル サイト用に 1 つ、通常のサイト用に 2 つのドメインを作成したかったのですが、CTO からサブ フォルダーだけを作成するように言われました。

ただし、問題は、ユーザーがメイン サイトとモバイル サイトのどちらにアクセスすることを望んでいるかを知らせる Cookie を設定できるようにすることです。理論的には、彼らはデスクトップ上にいて、モバイル版を選択することもできます (メイン サイトからモバイル サイトへ、またはその逆など、ビューを切り替えるためのリンクがフッターにあるため)。

ただし、誰かが Cookie を設定せずにサイトにアクセスした場合、ユーザー エージェント スニッフィングを行ってデバイスを特定し、サイトの適切な部分にリダイレクトする前に Cookie を設定します。

すべてのロジックは正しいように見えましたが、テストを開始すると、奇妙な結果が得られ始めました。

私の iPhone 3gs では完全に動作していました (最新の OS) が、他の人々の iPhone または Android フォンでは、人々は - Cookie をクリアします (テストの開始時に) - サイトにアクセスします - エージェントのスニフはそれらをモバイルにリダイレクトしますサイト - しかし、モバイル サイトの別のリンクをクリックすると、コードによって完全なサイトに戻りました。

これは私には起こりませんでした - 私たちのデモサイトでも、一部の人には機能し、他の人には機能しませんでした - また、FireFox をダウンロードした Android デバイスの誰かにも問題なく機能しました.

私と問題を抱えていた別の開発者が一緒に座って、まったく同じことを 1 つずつ手順を実行し、何が起こっているかを示すデバッグを行いました。

しかし、モバイルサイトにアクセスしたときに「モバイル」に設定されたCookieを取得していましたが、何らかの理由でそうではありませんでした。同じドメインへのリダイレクトであっても、リダイレクトの前に Cookie を設定できなかったようです。

Webkit に Cookie とリダイレクトに関するいくつかの問題があるという記事を読んだので、これは iPhone Safari ブラウザの問題である可能性があると思いましたが、それでは私の 3Gs 電話が機能した理由を説明できませんでした。

コードを作り直そうとしましたが、すべての場合に Cookie を設定してリダイレクトできるようにする必要があります。Cookie をセッション変数に設定するコードを変更することさえ試みましたが、それでもうまくいきませんでした。

私は本当に立ち往生しており、他のみんなもそうです。デバッグに何日も費やしましたが、一部のデバイスでは機能するが他のデバイスでは機能しない理由を説明する共通点を見つけることができません。

誰でも助けてくれますか!!! アドバイスをいただければ幸いです。

ありがとう!

4

0 に答える 0