TwitterのTLで指定したユーザーの最新ツイートに移動

http://let.hatelabo.jp/jigendaddy/let/hJmd3o2kls49.js

// ==UserScript==
// @name         twitter_jump_user
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://twitter.com/*
// @grant        none
// ==/UserScript==
var result4 = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
result4.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" value="jump_user" id="jump">');
var result5 = document.evaluate('id("jump")', document, null, 7, null);
result5.snapshotItem(0).addEventListener('click', sample, false);

function sample() {
  var sign = window.prompt("誰のツイートに飛びますか", "アカウント名の@以下を入力してください");
  var result = document.evaluate('//div[@class="stream-item-header"]/descendant::span[contains(@class,"username")][1]/b/text()', document, null, 7, null);
  var result2 = document.evaluate('//div[@class="stream-item-header"]/descendant::span[contains(@class,"username")][1]', document, null, 7, null);
  var flag = 0;
  for (var i = 0; i < result.snapshotLength; i++) {
    if (result.snapshotItem(i).nodeValue == sign) {
      result2.snapshotItem(i).id = "hoge";
      flag = 1;
      break;
    }
  }
  if (flag == 1) {
    var result3 = document.evaluate('id("hoge")/ancestor::li[1]', document, null, 7, null);
    var l_url = location.href;
    l_url = l_url.replace(location.hash, "");
    location.href = l_url + "#" + result3.snapshotItem(0).id;
  } else {
    alert("該当するユーザーのツイートがありません");
  }
}

キンマweb 熱論!Mリーグ

タイトル
苦渋の決断…萩原聖人はMリーグの星になれるのか【熱論!Mリーグ】 ZERO
ヴィーナス、天才、ベルセルク… 女流プロたちはMリーグで輝けるか??【熱論!Mリーグ】 梶谷悠介
俺を止めたいなら 核ミサイルでも落とせ! 佐々木寿人は攻撃をやめない【熱論!Mリーグ】 梶谷悠介
“踊る!バッシー御殿??”は面白い! 石橋伸洋で楽しむ方法?【熱論!Mリーグ】 花崎圭司
Mリーグ初役満を無視して考えた。パブリックビューイングは誰のもの?【熱論!Mリーグ】 グレート巨砲
死んでいたはずの “麻雀攻めダルマ” 佐々木寿人が目覚めた夜【熱論!Mリーグ】 masasio
“ずるごー”は健在だった 小林剛率いる 海賊たちの点棒略奪劇!【熱論!Mリーグ】 真中彰司
近藤誠一徹底分析 「事務局の人」から「卓上の阿修羅」へ【熱論!Mリーグ】 ZERO
Mリーグの魔物がもたらした萩原聖人の変化【熱論!Mリーグ】 梶谷悠介
高宮まり、魚谷侑未は “亜樹・黒沢”世代を超えられるのか【熱論!Mリーグ】 花崎圭司
女たちの “2100秒の攻防” Mリーグ女流大戦勃発!【熱論!Mリーグ】 阿部柊太朗
小人の多井が作り出す「Mリーグ」という名の靴屋【熱論!Mリーグ】 グレート巨砲
Mリーグに足りなかったもの…みんな二階堂亜樹の笑顔が見たかった??【熱論!Mリーグ】 masasio
もしも麻雀がなかったら…一途な最速マーメイド 魚谷侑未の覚悟【熱論!Mリーグ】 ゆうせー
俺たちの恋人 二階堂亜樹と過ごす史上最長の夜【熱論!Mリーグ】 ZERO
狙うは白鳥翔の首ひとつ! 渋谷ABEMAS包囲網を敷け!【熱論!Mリーグ】 花崎圭司
ブルドーザー・前原、変幻自在・園田 それぞれの持ち味を長考しながら堪能する夜【熱論!Mリーグ】 梶谷悠介
Mリーグは社会に何をもたらしたのか?新宿の片隅でジークMリーグ!と(心の中で)叫ぶ【熱論!Mリーグ】 グレート巨砲
二階堂亜樹、メンタル崩壊…舞姫を狂わせた近藤誠一の禁じ手【熱論!Mリーグ】 ゆうせー
白鳥は水面下でもがいているからこそ“リア充”に見える【熱論!Mリーグ】 阿部柊太朗
“多井隆晴vs朝倉康心”新旧エース同士の世代闘争勃発!【熱論!Mリーグ】 ZERO
麻雀攻めダルマ・佐々木寿人はこのまま終わってしまうのか【熱論!Mリーグ】 花崎圭司
私の名前は石橋伸洋 赤字は垂れ流さない【熱論!Mリーグ】 阿部柊太朗
まさにMリーグインフェルノ! オデが見た開幕戦の舞台裏【熱論!Mリーグ】 グレート巨砲
身内がMリーガーになった件 二階堂、前原、白鳥ら怪物たちと闘う弟【熱論!Mリーグ】 ゆうせー
少牌、役満テンパイ…滝沢和典は本当に復活したのか【熱論!Mリーグ】 ZERO
Mリーグの船出 21人のプロ雀士に求められるもの【熱論!Mリーグ】 花崎圭司
「熱論!Mリーグ」も開幕! グレート巨砲、ゆうせー、ZERO、花崎圭司ら個性派ライターの観戦記を掲載!
「今日が一番勝ちたかった」多井隆晴、ABEMAS首位転落のピンチ救った!
茅森早香、初トップ!天才すぎる女雀士でも苦労するMリーグの「1勝」
トップラス麻雀の何が悪い? これが佐々木寿人だ! 3勝目ゲット!
村上淳、鼻息MAXの接戦制して6戦ぶりトップ!
麻雀攻めダルマ・佐々木寿人、大復活の2連勝!最短8局決着!
佐々木寿人、起死回生の初トップ&初役満Wゲット!
Mリーガーを続々クラッシュ 朝倉康心の変態すぎる超頭脳ドライブ ゆうせー
朝倉康心、会心のアサクラッシュ炸裂! パイレーツは3連勝!
小林剛、初トップ!倍満、跳満”ずるごー”ヅモで対戦者、萎え~!!
Mリーガー 多井隆晴が出題!多井何切る【第4問】
ネット麻雀界のカリスマ・朝倉康心が執念の初トップ奪取!
近藤誠一、タメ息少なめ安定マシマシのゲーム回しで3勝目!
クマ、強ぇぇぇ! イケメン、ダルマ、人魚を瀬戸熊なぎ倒す!
黒沢咲、圧勝! 女流プロで一番、打点も意識も”高い女”は私!
悔しくて寝れなかった… 二階堂亜樹、死に物狂いの1勝目!
ABEMAS包囲網?何それ?多井隆晴、貫禄の3勝目!
魚ちゃんが笑った! 魚谷侑未、女流Mリーガー初トップ!
吉と出た! 萩原聖人、ペインティング効果で初トップ奪取!
トイレ休憩2回! 瀬戸熊直樹、全23局の耐久レースを制す!
滝沢和典、イケメン親倍ツモ炸裂! トンパツで勝負決めた!
全局苦悶の園田賢、弱った!困った! でも前原に粘り勝った!
前原雄大、エクスタシー! 倍満跳満の殴り合い制し、恍惚のデカトップ!
松本吉弘、7万点デカトップ! 前原は痛恨の箱下2万点メガラス…。
滝沢”少牌”和典、地獄から生還!ファン待望の初勝利!
近藤誠一ワンマンショー! 神がかり大逆転で2連勝!
お待たせ! 近藤誠一、初登場&初トップ! 村上は意地の2着死守!
アガリを止めるな! 多井隆晴、Mリーグ新記録の6連続アガリ! 渋谷ABEMAS首位独走!
卓上は白鳥翔の独壇場! 前原、石橋、茅森、なす術なし!!
どんなもんだい!これが前原雄大!KONAMI初勝利だい!!
熊は鳥より強し!瀬戸熊直樹、鼻差で白鳥翔に競り勝つ!!
鈴木たろうマジ強ぇぇぇ! 赤坂ドリブンズ開幕ダッシュ成功!
村上淳、開幕2連勝! 高宮まり、黒沢咲ら美女を野獣が制す!
松本吉弘が二階堂亜樹を大まくり! 渋谷ABEMAS破竹の3連勝!!
若手人気ナンバーワン雀士・白鳥翔がMリーグ初陣でトップ!!
見た目は大事 Mリーグ・チェアマン藤田晋の著書「仕事が麻雀で麻雀が仕事」が記すビジネスの真実
見たか、これが多井隆晴だ! 渋谷ABEMAS初勝利
絶好調ドリブンズ! 肉離れで全治1ヶ月の村上淳が奮闘!
Mリーガー白鳥翔プロ【独占手記】開幕直前の胸中を綴る! 白鳥翔
萩原聖人、まさかの連敗発進! Mリーグ開幕2連戦出場も不発
小林剛、痛恨の大逆転負け!! Mリーグ開幕戦は園田賢が制す
二階堂亜樹、白鳥翔、滝沢和典らMリーガーがキンマwebのインスタで開幕直前、ファンへメッセージ
「Mリーグ」とは甲子園・春のセンバツ高校野球です 開幕直前、特別観戦記 グレート巨砲

Twitterで下書きを保存

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

// ==UserScript==
// @name         twitter_draft
// @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 result = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
result.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" id="draft" value="下書き">');
document.getElementById("draft").addEventListener('click', function () {
  localStorage.setItem("n_url", location.href);
  history.pushState(null, null, "/koko_nanimo_naidesuyo");
  document.body.innerHTML = "";
  document.body.insertAdjacentHTML("beforeend", "<textarea>戻るボタンなどのブラウザバックで元のページに戻ります</textarea><br><input type='button' value='save'><input type='button' value='load'><span class='count'>0</span>");
  var result2 = document.evaluate('//input', document, null, 7, null);
  result2.snapshotItem(0).addEventListener('click', sample, false);
  result2.snapshotItem(1).addEventListener('click', sample2, false);

  function sample() {
    var result3 = document.evaluate('//textarea', document, null, 7, null);
    localStorage.setItem('draft', result3.snapshotItem(0).value);
  }

  function sample2() {
    var result3 = document.evaluate('//textarea', document, null, 7, null);
    var draft = localStorage.getItem('draft');
    result3.snapshotItem(0).value = draft;
  }
  $('textarea').bind('keydown keyup keypress change', function () {
    var thisValueLength = $(this).val().length;
    $('.count').html(thisValueLength + "/140");
  });
  window.addEventListener('popstate', function (event) {
    location.href = localStorage.getItem("n_url");
  });
});

これまで作成したgreasemonkeyスクリプト

  1. nishino_ameblo_kdiv 西野ブログで不要な空divを削除
  2. nishino_ameblo_br 西野ブログで不要な改行を削除
  3. ameblo_link アメブロの内部リンクをJavaScriptで実行
  4. nishino_ameblo_easy 西野ブログ実験版
  5. google_search_blist Google検索でブラックリストを設定
  6. nishino_ameblo_fbi 西野ブログでフォントを削除
  7. katsumaweb_ad 勝間和代オフィシャルサイトで広告削除
  8. save_video_currentime Youtubeで再生中の動画において再生時間を保存する
  9. youtube_watchtime Youtubeで再生した動画の数を保存して表示
  10. google_copy_url Googleウェブ検索でURLをまとめてコピー するアイコン設置
  11. 2nn_sc 2NNで2ch.netのリンクを2ch.scに置き換える
  12. youtube_skip_button Youtubeで再生中の動画を終わらせる
  13. nico_skip_button ニコニコ動画の再生前広告を飛ばすアイコン設置
  14. nico_history_copy ニコニコ動画の履歴ページから動画のURLをコピー
  15. abema_update_check AbemaTVの更新チェック
  16. nico_history_ago ニコニコ動画の履歴ページに何日前に再生した動画か表示
  17. twitter_draft Twitterで下書きを保存する
  18. twitter_jump_user TwitterのTLでユーザーを指定して最後のツイートに飛ぶ
  19. abema_url_list AbemaTVでURLリストを作成
  20. newtopi_link_open_same ニュートピ!のリンクを同じタブで開くボタン設置
  21. nico_auto_load ニコニコ動画の動画終了時に次の動画に自動的に飛ぶ
  22. newspicks_save_link NewsPicksで「続きを読む」リンクのURLを保存してコピー
  23. newtopi_link_exchange ニュートピ!のリンクを入れ替える
  24. togetter_simple  Togetterにコメント欄へ飛ぶリンクを追加
  25. insta_movie インスタグラムで動画再生時に長さと音量調整スライダーを表示
  26. newtopi_img2twitter ニュートピ!で画像付きツイートのクリック時に画像のみを表示
  27. youtube_history_abema  Youtube履歴ページで指定したチャンネルの動画を表示
  28. insta_url_list インスタグラムでURLリストを作成
  29. insta_count インスタグラムで複数投稿の場合投稿数を表示
  30. youtube_history_ago Youtubeの履歴ページに何日前に再生した動画か表示
  31. mofu_ameblo アメブロ旦那観察日記の画像をインスタグラムと同じサイズで表示
  32. youtube_volume_alert Youtubeで音量調整が必要そうな場合に警告を表示
  33. twitter_acc_list 登録したTwitterのアカウントを一覧リストで表示
  34. spot_search  SPOTで記事を探しやすくする
  35. twitter2hatena Twitterのツイートをはてなブログに埋め込む形式でリストを表示
  36. youtube2hatena YoutubeでURLメモ用のテキストエリアを表示
  37. twitter_date Twitterで今日の予定をメモ
  38. twitter_moment_list  Twitterで登録したモーメントを一覧リストで表示
  39. renban_load_zero  画像のみ表示時に連番画像を生成

ニコニコ動画の視聴履歴に何日前に見た動画か記載

http://let.hatelabo.jp/jigendaddy/let/hLHV2dCKgN0j.js

// ==UserScript==
// @name         nico_history_ago
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.nicovideo.jp/my/history
// @grant        none
// @require      http://momentjs.com/downloads/moment.js
// ==/UserScript==
var result = document.evaluate('//p[@class="posttime"]/text()', document, null, 7, null);
var g_time;
var d_time = [];
for (var i = 0; i < result.snapshotLength; i++) {
  g_time = result.snapshotItem(i).nodeValue.replace("年", "");
  g_time = g_time.replace("月", "");
  g_time = g_time.replace("日", "");
  g_time = g_time.replace(" 視聴", "");
  if (moment(g_time, "YYYYMMDD").fromNow() == moment().startOf('day').fromNow()) {
    d_time[i] = "今日";
  } else {
    d_time[i] = moment(g_time, "YYYYMMDD").fromNow();
  }
}
for (i = 0; i < d_time.length; i++) {
  d_time[i] = d_time[i].replace(" ago", "前");
  d_time[i] = d_time[i].replace("a day", "1日");
  d_time[i] = d_time[i].replace("days", "日");
  d_time[i] = d_time[i].replace("a month", "1ヶ月");
  d_time[i] = d_time[i].replace("months", "ヶ月");
  d_time[i] = d_time[i].replace(" ", "");
}
var result2 = document.evaluate('//p[@class="posttime"]/span', document, null, 7, null);
for (i = 0; i < d_time.length; i++) {
  result2.snapshotItem(i).insertAdjacentHTML("beforebegin", "(" + d_time[i] + ")");
}

AbemaTVでページを開くたびに更新があるかチェック

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

// ==UserScript==
// @name         abema_update_check
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://abema.tv/video/title/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//div[@role="listitem"][.//img]//a[not(.//img)]', document, null, 7, null);
var flag = 0;
if (!("update_time" in localStorage)) {
  var now1 = Math.floor((new Date).getTime() / 1000);
  localStorage.setItem('update_time', now1);
  localStorage.setItem("check_update", result.snapshotItem(0).href);
  alert("最終更新動画をチェック対象に設定しました");
} else {
  var now2 = Math.floor((new Date).getTime() / 1000);
  var l_update_time = Number(localStorage.getItem('update_time'));
  if (now2 - l_update_time > 24 * 60 * 60) {
    for (var i = 0; i < result.snapshotLength; i++) {
      var n_url = result.snapshotItem(i).href;
      var l_url = localStorage.getItem('check_update');
      if (n_url == l_url) {
        flag = 1;
        localStorage.setItem('update_time', now2);
        if (i == 0) {
          alert("更新はありません");
          break;
        } else {
          alert(i + "本の更新があります");
          localStorage.setItem('check_update', result.snapshotItem(0).href);
          break;
        }
      }
    }
    if (flag == 0) {
      alert("20本以上の更新があります");
      localStorage.setItem('update_time', now2);
      localStorage.setItem('check_update', result.snapshotItem(0).href);
    }
  } /*else {
    var sec = now2 - l_update_time;
    alert("前回の更新から" + sec + "秒が経過しています");
    localStorage.setItem('update_time', now2);
  }*/
}