spot_search

    @@ -1,66 +1,48 @@ // ==UserScript== -// @title twitter2hatena -// @name twitter2hatena +// @title spot_author_search +// @name spot_author_search // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You -// @match https://twitter.com/*/status/* +// @match https://travel.spot-app.jp/* // @grant none // ==/UserScript== -var result = document.evaluate('//div[@class="ProfileTweet-actionList js-actions"]', document, null, 7, null); -result.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" value="登録" id="regist2">'); -var result2 = document.evaluate('id("regist2")', document, null, 7, null); -result2.snapshotItem(0).addEventListener('click', sample, false); - -function sample() { - for (var i = 0; i < 128; i++) { - if (!('tweet' + (i + 1) in localStorage)) { - if (i == 127) { - alert("保存できるURLの数は128までに制限しています。\nローカルストレージから登録したキーを削除してください"); - break; - } - var cb = list_check(i + 1, location.href); - if (cb != 1) { - localStorage.setItem('tweet' + (i + 1), location.href); - alert("登録しました"); - break; - } else { - break; - } +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>"); } } - //重複削除 - function list_check(lp, n_name) { - var flag = 0; - for (var i = 0; i < lp; i++) { - if (localStorage.getItem('tweet' + (i + 1)) == n_name) { - alert("このツイートは既に登録されています"); - flag = 1; - break; - } - } - return flag; + var result3 = document.evaluate('//div[@class="cover"]', document, null, 7, null); + for (var j = 0; j < result3.snapshotLength; j++) { + result3.snapshotItem(j).remove(); } -} -//リスト表示処理 -var result4 = document.evaluate('//div[@class="ProfileTweet-actionList js-actions"]', document, null, 7, null); -result4.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" value="リスト" id="list2">'); -var result5 = document.evaluate('id("list2")', document, null, 7, null); -result5.snapshotItem(0).addEventListener('click', sample2, false); - -function sample2() { - localStorage.setItem("n_url", location.href); - history.pushState(null, null, "/koko_nanimo_naidesuyo3"); - document.body.innerHTML = ""; - for (var i = 0; i < 128; i++) { - if ('tweet' + (i + 1) in localStorage) { - document.body.insertAdjacentHTML('beforeend', '<div>[' + localStorage.getItem('tweet' + (i + 1)) + ':embed]</div>'); - } else { - break; +} 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); + } } } - window.addEventListener('popstate', function (event) { - location.href = localStorage.getItem("n_url"); - }); }
  • // ==UserScript==
    // @title        spot_author_search
    // @name         spot_author_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
    // ==/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);
          }
        }
      }
    }
  • 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