回答編集履歴
1
番号が正しく出ないので修正
    
        answer	
    CHANGED
    
    | @@ -1,14 +1,16 @@ | |
| 1 1 | 
             
            考えうる方法
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            ① 全てのページでcookieに「いま表示されているURL(Aとする)を保存する処理」を書く(ログインページは除く)
         | 
| 4 4 | 
             
            ```javascript
         | 
| 5 5 | 
             
            document.cookie= 'lastpage=' + window.location; //最終訪問ページを保存
         | 
| 6 6 | 
             
            ```
         | 
| 7 | 
            +
             | 
| 7 | 
            -
             | 
| 8 | 
            +
            ② ログインページでcookieに「今からログインするフラグ(Bとする)を保存する処理」を書く
         | 
| 8 9 | 
             
            ```javascript
         | 
| 9 10 | 
             
            document.cookie= 'login=1';// ログインフラグを立てる
         | 
| 10 11 | 
             
            ```
         | 
| 12 | 
            +
             | 
| 11 | 
            -
             | 
| 13 | 
            +
            ③ ログイン後に遷移するマイページで、「B」状態であった場合、「A」にリダイレクトする処理を書く
         | 
| 12 14 | 
             
            ```javascript
         | 
| 13 15 | 
             
            var cookies = document.cookie.split(";");
         | 
| 14 16 | 
             
            document.cookie = 'login=0'; // ログインフラグを下ろす
         | 
| @@ -18,8 +20,10 @@ | |
| 18 20 | 
             
              var pair = cookie.split("=");
         | 
| 19 21 | 
             
              map[pair[0]] = pair[1];
         | 
| 20 22 | 
             
            }
         | 
| 21 | 
            -
             | 
| 23 | 
            +
            if('login' in map && map['login'] === '1') {
         | 
| 22 | 
            -
             | 
| 24 | 
            +
              // マイページにログイン後に来たので、保存されているURLへリダイレクトする
         | 
| 23 | 
            -
             | 
| 25 | 
            +
              window.location = map['lastpage'];
         | 
| 24 | 
            -
             | 
| 26 | 
            +
            }
         | 
| 25 | 
            -
            ```
         | 
| 27 | 
            +
            ```
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            ただし、これはPOSTで遷移したページではリダイレクトで戻ることは出来ないので、GETでのページ移動のみに限ります。
         | 
