ワイズリマインダー

フロントエンドだけでページを推移させる

JSONデータを取得して、一覧ページや登録・編集ページを表示させたい時など
ページを切り替えるたびにデータの再取得をしなくてよい場合に使用するテクニック

【向いている状況】
・限られた人がJSONデータを読み書きする
・JSONデータが比較的大きい

// ページ表示時
window.addEventListener('load', () => pageClosure.load());
// ブラウザバック・フォワード時
window.addEventListener('popstate', () => pageClosure.load());

// ページ内でAを表示させたい時
const clickA = () => pageClosure.jumpA();
// ページ内でBを表示させたい時
const clickB = () => pageClosure.jumpB();

/**
 * ページの切り替え
 */
const pageClosure = (() => {
  return {
    load: function ()  {
      if (location.search.match(/■□■URLで判別■□■/)) {
        this.printA();
      } else {
        this.printB();
      };
    },
    jumpA: function () {
      // 履歴に追加
      window.history.pushState(null, null, "■□■Aを表示させるURL■□■");
      // Aを表示する
      this.printA();
    },
    jumpB: function () {
      // 履歴に追加
      window.history.pushState(null, null, "■□■Bを表示させるURL■□■");
      // Bを表示する
      this.printB();
    },
    printA: () => {
      /*** ここにAを表示する処理 ***/
    },
    printB: () => {
      /*** ここにBを表示する処理 ***/
    },
  };
})();

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク