スキル追加合成ページで合成テーブルを表示するための、moko 編集のすゝめ

スキル追加合成ページで合成テーブルを表示するための、moko 編集のすゝめ

拡張機能
目次

balloon
今宵も3人を眺めながら・・・
balloon
殿、大変です。追加合成ページの武将のポップアップ下部に合成候補テーブルが表示されません。
balloon
なぬ!?
balloon
最近は3次S1からSスキルを付けられる特武将も増えており、このままでは誤って素材を消してしまいます。。
balloon
それは大変だ。。。まあ、`ixa-moko.user.js`内の`ajaxContent()`の実行条件を弄るだけじゃぞ、ほら。

added

balloon
あーしてこーして、じゃあ分かりません!
balloon
そ、そうか。では

image

完成形

// ixa-moko.user.js
function ajaxContent() {
  function getTdString(skillString) {
  // 省略
  }

  //カード画像枠消し
  $('body').on('click', '#TB_ajaxContent div.ig_card_cardStatusFront', function(e) {
    // 省略
  });

  $('body').on('click', 'div.ig_card_cardStatusBack', function () {
    if ( !$(this).parents('div.modal_window').length ) {
      if (location.pathname != '/country/country_ranking.php' && location.pathname != "/union/learn_confirm.php") {
        return;
      }
    }
    // スキル追加合成ページのうち、ポップアップ以外の武将カードエリアは除外
    if(pathname === "/union/learn_confirm.php" && !$(this).parents("div.card_detail_area").length){
      return;
    }

    var $cardarea = $(this).parents('div.card_detail_area');
  // 以下省略
  });
  // 以下省略
}

もともとのコード

// ixa-moko.user.js
// カードポップアップウィンドウ
function ajaxContent() {
  function getTdString(skillString) {
  // 省略
  }

  //カード画像枠消し
  $('body').on('click', '#TB_ajaxContent div.ig_card_cardStatusFront', function(e) {
    // 省略
  });

  $('body').on('click', 'div.ig_card_cardStatusBack', function () {
    if ( !$(this).parents('div.modal_window').length ) {
      if (location.pathname != '/country/country_ranking.php') {
        return;
      }
    }
    var $cardarea = $(this).parents('div.card_detail_area');
  // 以下省略
  });
  // 以下省略
}

解説

balloon
どうやらスキル追加合成ページには `div.ig_card_cardStatusBack`がないのじゃ。その結果、元々のコード13行目から始まる if 文で条件からはじかれていたようじゃ。なので、まず完成形13行目のように `&& location.pathname != '/union/learn_confirm.php'` を追加したのじゃ。
balloon
ふむふむ。では、完成形18行目から追加した3行は何をしているのですか?
balloon
実はこの3行は無くても問題なく動くのじゃ。ただ、下画像だと、カード画像をフリップする時にクリックする箇所も反応してしまい、合成候補テーブル生成のための関数が働いてしまうのじゃ。テーブル自体は描画されないがの。

image3

balloon
ふむふむ。