spot_search

    @@ -1,5 +1,4 @@ // ==UserScript== -// @title spot_search // @name spot_search // @namespace http://tampermonkey.net/ // @version 0.1 @@ -7,6 +6,8 @@ // @author You // @match https://travel.spot-app.jp/* // @grant none +// @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js +// @require http://momentjs.com/downloads/moment.js // ==/UserScript== var result6 = document.evaluate('//ul[@class="nav_list"]', document, null, 7, null); result6.snapshotItem(0).insertAdjacentHTML('afterbegin', '<input type="text" id="sub_search" value="">'); @@ -51,4 +52,21 @@ result7.snapshotItem(0).addEventListener('change', function () { var selectedValue = $("#pref_name").val(); location.href = "https://travel.spot-app.jp/category/" + selectedValue + "/"; +}); +result6.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" id="last_visit" value="訪問確認">'); +var result8 = document.evaluate('id("last_visit")', document, null, 7, null); +result8.snapshotItem(0).addEventListener('click', function () { + var now = moment(); + if (!('last_visit' in localStorage)) { + localStorage.setItem('last_visit', now); + alert("現在の時刻をローカルストレージに書き込みました"); + } else { + if (now.diff(localStorage.getItem('last_visit'), 'days') != 0) { + alert(now.diff(localStorage.getItem('last_visit'), 'days') + "日前に訪れています"); + localStorage.setItem('last_visit', now); + } else { + alert("今日訪れました"); + localStorage.setItem('last_visit', now); + } + } });
  • // ==UserScript==
    // @name         spot_search
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://travel.spot-app.jp/*
    // @grant        none
    // @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
    // @require      http://momentjs.com/downloads/moment.js
    // ==/UserScript==
    var result6 = document.evaluate('//ul[@class="nav_list"]', document, null, 7, null);
    result6.snapshotItem(0).insertAdjacentHTML('afterbegin', '<input type="text" id="sub_search" value="">');
    document.getElementById("sub_search").addEventListener('change', function () {
      location.href = "https://travel.spot-app.jp/?s=" + document.getElementById("sub_search").value;
    });
    if (!(/\/tag\//g.test(location.href)) && !(/\/category\//g.test(location.href))) {
      var result = document.evaluate('//div[@class="author-name"]/a/text()', document, null, 7, null);
      var result2 = document.evaluate('//div[@class="loop-meta"]/div', document, null, 7, null);
      for (var i = 0; i < result.snapshotLength; i++) {
        var sp = " ";
        var reg2 = new RegExp(sp);
        if (reg2.test(result.snapshotItem(i).nodeValue)) {
          result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a></a></div>");
        } else {
          result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a href=https://travel.spot-app.jp/tag/" + result.snapshotItem(i).nodeValue + "/#dummy>" + result.snapshotItem(i).nodeValue + "</a></div>");
        }
      }
      var result3 = document.evaluate('//div[@class="cover"]', document, null, 7, null);
      for (var j = 0; j < result3.snapshotLength; j++) {
        result3.snapshotItem(j).remove();
      }
    } else if (/#dummy/g.test(location.href)) {
      var result5 = document.evaluate('//span[@class="title"]/text()', document, null, 7, null);
      var t1 = result5.snapshotItem(0).nodeValue;
      var er = "ERROR"
      var reg = new RegExp(er);
      if (reg.test(t1)) {
        alert("authorページが確認できません。\n元のページに戻ります");
        history.back();
      } else {
        var result4 = document.evaluate('//div[@class="author-name"]/a', document, null, 7, null);
        for (var k = 0; k < result4.snapshotLength; k++) {
          if (result4.snapshotItem(k).href == result4.snapshotItem(k + 1).href) {
            location.replace(result4.snapshotItem(k).href);
          }
        }
      }
    }
    result6.snapshotItem(0).insertAdjacentHTML('afterbegin', '<select id="pref_name"><option value="">都道府県</option><option value="北海道">北海道</option><option value="青森県">青森県</option><option value="岩手県">岩手県</option><option value="宮城県">宮城県</option><option value="秋田県">秋田県</option><option value="山形県">山形県</option><option value="福島県">福島県</option><option value="茨城県">茨城県</option><option value="栃木県">栃木県</option><option value="群馬県">群馬県</option><option value="埼玉県">埼玉県</option><option value="千葉県">千葉県</option><option value="東京都">東京都</option><option value="神奈川県">神奈川県</option><option value="新潟県">新潟県</option><option value="富山県">富山県</option><option value="石川県">石川県</option><option value="福井県">福井県</option><option value="山梨県">山梨県</option><option value="長野県">長野県</option><option value="岐阜県">岐阜県</option><option value="静岡県">静岡県</option><option value="愛知県">愛知県</option><option value="三重県">三重県</option><option value="滋賀県">滋賀県</option><option value="京都府">京都府</option><option value="大阪府">大阪府</option><option value="兵庫県">兵庫県</option><option value="奈良県">奈良県</option><option value="和歌山県">和歌山県</option><option value="鳥取県">鳥取県</option><option value="島根県">島根県</option><option value="岡山県">岡山県</option><option value="広島県">広島県</option><option value="山口県">山口県</option><option value="徳島県">徳島県</option><option value="香川県">香川県</option><option value="愛媛県">愛媛県</option><option value="高知県">高知県</option><option value="福岡県">福岡県</option><option value="佐賀県">佐賀県</option><option value="長崎県">長崎県</option><option value="熊本県">熊本県</option><option value="大分県">大分県</option><option value="宮崎県">宮崎県</option><option value="鹿児島県">鹿児島県</option><option value="沖縄県">沖縄県</option></select> ');
    var result7 = document.evaluate('id("pref_name")', document, null, 7, null);
    result7.snapshotItem(0).addEventListener('change', function () {
      var selectedValue = $("#pref_name").val();
      location.href = "https://travel.spot-app.jp/category/" + selectedValue + "/";
    });
    result6.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" id="last_visit" value="訪問確認">');
    var result8 = document.evaluate('id("last_visit")', document, null, 7, null);
    result8.snapshotItem(0).addEventListener('click', function () {
      var now = moment();
      if (!('last_visit' in localStorage)) {
        localStorage.setItem('last_visit', now);
        alert("現在の時刻をローカルストレージに書き込みました");
      } else {
        if (now.diff(localStorage.getItem('last_visit'), 'days') != 0) {
          alert(now.diff(localStorage.getItem('last_visit'), 'days') + "日前に訪れています");
          localStorage.setItem('last_visit', now);
        } else {
          alert("今日訪れました");
          localStorage.setItem('last_visit', now);
        }
      }
    });
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2018/12/25 13:38:17 - 2018-12-25
  2. 2018/12/25 13:29:47 - 2018-12-25
  3. 2018/12/10 21:54:23 - 2018-12-10
  4. 2018/12/10 21:53:59 - 2018-12-10
  5. 2018/12/05 15:16:44 - 2018-12-05
  6. 2018/12/05 15:15:20 - 2018-12-05
  7. 2018/12/01 14:38:55 - 2018-12-01
  8. 2018/12/01 14:36:46 - 2018-12-01
  9. 2018/12/01 14:36:29 - 2018-12-01
  10. 2018/11/30 12:57:45 - 2018-11-30