クライアントは、ユーザーが見たい現在のビューの状態を管理する必要があります。HTTP はステートレス プロトコルであるため、Cookie を使用して、HTTP 要求全体でユーザーの選択を保持できます。
ユーザーがボタンをクリックしてメイン バージョンを表示すると、クリック イベントの一部として Cookie が削除されます。同様に、ユーザーがモバイル バージョンを表示したい場合は、Cookie を目的の値に設定します。ライブラリに依存する可能性がある JavaScript を使用して Cookie を操作する方法は多数あるため、ページで行うべき動作の擬似コードを以下に示します。
// Pseudocode:
// Sets a cookie named "view" with the value "mobile"
function setMobileView() {
Cookie.set("view", "mobile");
}
mobileViewButton.onclick = setMobileView;
// Deletes the cookie named "view"
function setMainView() {
Cookie.delete("view");
}
mainViewButton.onclick = setMainView;
リダイレクト ロジックがどのようになるかの擬似コードを次に示します。
// Pseudocode for deciding the view to display
if (view === "mobile") {
location.href = "http://m.domain.com";
}