1300

移行用のテストです

登録したTwitterのアカウントをリストで表示

このスクリプトFirefoxで動作を保証しないものとします
let.hatelabo.jp

// ==UserScript==
// @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");
  });
}