twitter_acc_list

  • // ==UserScript==
    // @title        twitter_acc_list
    // @name         twitter_acc_list
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://twitter.com/*
    // @grant        none
    // @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
    // ==/UserScript==
    //登録処理
    var result2 = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
    result2.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" value="登録" id="regist">');
    var result3 = document.evaluate('id("regist")', document, null, 7, null);
    result3.snapshotItem(0).addEventListener('click', sample, false);
    
    function sample() {
      var result = document.evaluate('//link[@rel="canonical"]', document, null, 7, null);
      var n_str = result.snapshotItem(0).href + "/";
      var n_arr = n_str.split("/");
      var acc = n_arr[3];
      if (acc.length == 0) {
        acc = "home_kokokara_hajimaruyo";
      }
      for (var i = 0; i < 128; i++) {
        if (!('user' + (i + 1) in localStorage)) {
          if (i == 127) {
            alert("保存できるURLの数は128までに制限しています。\nローカルストレージから登録したキーを削除してください");
            break;
          }
          var cb = list_check(i + 1, acc);
          if (cb != 1) {
            localStorage.setItem('user' + (i + 1), acc);
            var memo_ran = window.prompt("コメントは何かありますか?", "");
            localStorage.setItem(acc, memo_ran);
            alert("登録しました");
            break;
          } else {
            break;
          }
        }
      }
      //重複チェック
      function list_check(lp, n_name) {
        var flag = 0;
        for (var i = 0; i < lp; i++) {
          if (localStorage.getItem('user' + (i + 1)) == n_name) {
            alert("このページは既に登録されています");
            flag = 1;
            break;
          }
        }
        return flag;
      }
    }
    //リスト表示処理
    var result4 = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
    result4.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" value="リスト" id="list">');
    var result5 = document.evaluate('id("list")', 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_naidesuyo2");
      document.body.innerHTML = "<ol type=1></ol>";
      var result6 = document.evaluate('//ol', document, null, 7, null);
      for (var i = 0; i < 128; i++) {
        if ('user' + (i + 1) in localStorage) {
          if (localStorage.getItem('user' + (i + 1)) != "home_kokokara_hajimaruyo") {
            if (localStorage.getItem(localStorage.getItem('user' + (i + 1))) != null) {
              result6.snapshotItem(0).insertAdjacentHTML('beforeend', '<li class=line' + (i + 1) + '><img src=https://twitter.com/' + localStorage.getItem('user' + (i + 1)) + '/profile_image?size=mini><a href=https://twitter.com/' + localStorage.getItem('user' + (i + 1)) + '>@' + localStorage.getItem('user' + (i + 1)) + '</a><div>' + localStorage.getItem(localStorage.getItem('user' + (i + 1))) + '</div></li>');
            } else {
              result6.snapshotItem(0).insertAdjacentHTML('beforeend', '<li class=line' + (i + 1) + '><img src=https://twitter.com/' + localStorage.getItem('user' + (i + 1)) + '/profile_image?size=mini><a href=https://twitter.com/' + localStorage.getItem('user' + (i + 1)) + '>@' + localStorage.getItem('user' + (i + 1)) + '</a></li>');
            }
          } else {
            result6.snapshotItem(0).insertAdjacentHTML('beforeend', '<li class=line' + (i + 1) + '>home</li><br>');
          }
        } else {
          document.body.insertAdjacentHTML('beforeend', '<input type=button id=remove value=削除>');
          break;
        }
      }
      var listArray = document.querySelectorAll('li+li');
      for (var a = 0; a < listArray.length; a++) {
        listArray[a].style.marginTop = "1em";
      }
      $(function () {
        $('#remove').click(function () {
          var j = window.prompt("何番目のアカウントを削除しますか?\n半角英数で入力してください。\n入力例は1番から3番を消す場合です", "1-3");
          if (/\-/g.test(j)) {
            var j_sp = j.split("-");
            var j_begin = j_sp[0];
            var j_end = j_sp[1];
            while (j_begin <= j_end) {
              $('.line' + j_begin).css({
                "display": "none"
              });
              j_begin++;
            }
          } else {
            $('.line' + j).css({
              "display": "none"
            });
          }
        }, );
      });
      window.addEventListener('popstate', function (event) {
        location.href = localStorage.getItem("n_url");
      });
    }
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2018/12/05 20:36:16 - 2018-12-05
  2. 2018/12/05 20:31:21 - 2018-12-05
  3. 2018/12/02 12:50:36 - 2018-12-02
  4. 2018/12/01 20:12:26 - 2018-12-01
  5. 2018/12/01 20:12:00 - 2018-12-01
  6. 2018/12/01 14:56:59 - 2018-12-01