1300

移行用のテストです

にゅーとぴで画像付きツイートのクリック時に画像のみを表示

このスクリプトTwitter 原寸びゅーとの併用を前提とします。ブラウザ拡張版のインストールをお勧めします

// ==UserScript==
// @name         newtopi_img2twitter
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://twitter.com/*/status/*/photo/*?ref_src=*newstopics.jp*
// @grant        none
// ==/UserScript==
//console.log("test");
var result = document.evaluate('//div[@class="permalink-inner permalink-tweet-container"]//img[@class="twOpenOriginalImage_touched"]', document, null, 7, null);
var tmp = [];
for (var i = 0; i < result.snapshotLength; i++) {
  //console.log(result.snapshotItem(i).src);
  tmp[i] = result.snapshotItem(i).src;
}
if (result.snapshotLength > 0) {
  if (window.confirm("このツイートには画像が含まれています。\n画像のみを表示してよろしいですか?")) {
    history.pushState(null, null, "/koko_gazou_dakedayo");
    document.body.innerHTML = "";
    for (i = 0; i < result.snapshotLength; i++) {
      document.body.insertAdjacentHTML("beforeend", "<img src=" + tmp[i] + ">");
    }
  }
}
window.addEventListener('popstate', function (event) {
  var n_url = location.href;
  n_url = n_url.replace(/\/photo\/(\d).+/g, "/photo/$1");
  location.href = n_url;
});

インスタグラムで動画再生時に長さを表示

// ==UserScript==
// @name         insta_movie_length
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.instagram.com/p/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//video', document, null, 7, null);
var video = result.snapshotItem(0);
video.addEventListener('loadedmetadata', function () {
  var result2 = document.evaluate('//time', document, null, 7, null);
  result2.snapshotItem(0).insertAdjacentHTML("afterbegin", Math.floor(this.duration) + "秒 ");
});

Togetterにコメント欄へ飛ぶリンクを追加

// ==UserScript==
// @name         togetter_jump_comment
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://togetter.com/li/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//div[@class="feedback_box"]', document, null, 7, null);
result.snapshotItem(0).insertAdjacentHTML("afterbegin","<a href='#comment_box'>コメント欄に飛ぶ</a>");

日本将棋連盟公式サイトまいにち詰将棋から3手詰め以外の問題を消す

// ==UserScript==
// @name         tsume_shogi_everyday_3
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.shogi.or.jp/tsume_shogi/everyday/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//ul[contains(@class,"section04")]/li[.//*[contains(text(),"3手詰")]]', document, null, 7, null);
for (var i = 0; i < result.snapshotLength; i++) {
    result.snapshotItem(i).classList.add("mate3");
}
.section04>li:not(.mate3){display:none}

ニュートピ!の記事へのリンクと「記事をすぐ読む」リンクを入れ替える

// ==UserScript==
// @name         newtopi_link_exchange
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://newstopics.jp/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//a[@class="title"]', document, null, 7, null);
var tmp = [];
for (var i = 0; i < result.snapshotLength; i++) {
  tmp[i] = result.snapshotItem(i).href;
}
var result2 = document.evaluate('//div[contains(@class,"comment")]/a[1]', document, null, 7, null);
for (i = 0; i < result.snapshotLength; i++) {
  result.snapshotItem(i).href = result2.snapshotItem(i).href;
}
for (i = 0; i < result.snapshotLength; i++) {
  result2.snapshotItem(i).href = tmp[i];
}
var result3 = document.evaluate('//div[@class="content" or @class="top_content"]//span[@class="comment_link"]/i/following-sibling::text()[1]', document, null, 7, null);
for (var k = 0; k < result3.snapshotLength; k++) {
  result3.snapshotItem(k).nodeValue = "ツイートを見る";
}
var result5 = document.evaluate('//div[@class="sidebar_content"]//span[@class="comment_link"]/i/following-sibling::text()[1]', document, null, 7, null);
for (var x = 0; x < result5.snapshotLength; x++) {
  result5.snapshotItem(x).nodeValue = "ツイート";
}
var result4 = document.evaluate('//span[@class="comment_link"]/i/following-sibling::text()[1]/following-sibling::node()', document, null, 7, null);
for (var j = 0; j < result4.snapshotLength; j++) {
  result4.snapshotItem(j).remove();
}

NewsPicksで「続きを読む」リンクのURLを保存してコピー

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

// ==UserScript==
// @name         newspicks_save_link
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://newspicks.com/news/*
// @grant        none
// ==/UserScript==
var result = document.evaluate('//div[@class="meta-block clear"]', document, null, 7, null);
result.snapshotItem(0).insertAdjacentHTML("beforeend", "<div><a href='javascript:void(0);'><img src='https://cdn-ak.f.st-hatena.com/images/fotolife/j/jigendaddy/20181107/20181107150929.png'></a> <a href='javascript:void(0);'><img src='https://cdn-ak.f.st-hatena.com/images/fotolife/j/jigendaddy/20181107/20181107150926.png'></a> <a href='javascript:void(0);'><img src='https://cdn-ak.f.st-hatena.com/images/fotolife/j/jigendaddy/20181107/20181107154129.png'></a></div>");
var result2 = document.evaluate('//div[@class="meta-block clear"]/div[last()]/a[1]', document, null, 7, null);
result2.snapshotItem(0).addEventListener('click', sample, false);
var result3 = document.evaluate('//div[@class="meta-block clear"]/div[last()]/a[2]', document, null, 7, null);
result3.snapshotItem(0).addEventListener('click', sample2, false);
var result4 = document.evaluate('//div[@class="meta-block clear"]/div[last()]/a[3]', document, null, 7, null);
result4.snapshotItem(0).addEventListener('click', sample3, false);

function sample() {
  var result5 = document.evaluate('//a[@class="read-more center"]', document, null, 7, null);
  var result6 = document.evaluate('//link[@rel="canonical"]', document, null, 7, null);
  var pattern = /body\/\?ref\=index/g;
  for (var i = 0; i < 128; i++) {
    if (!("url" + (i + 1) in localStorage)) {
      if (i == 127) {
        alert("保存できるURLの数は128までに制限しています。\nローカルストレージから登録したキーを削除してください");
        break;
      } else if (localStorage.getItem("url" + i) == result6.snapshotItem(0).href) {
        alert("このページは既に登録されています");
        break;
      }
      /*else if(pattern.test(result5.snapshotItem(0).href))
      {
          alert("このページは外部サイトへのリンクではありません");
          break;
      }*/
      localStorage.setItem("url" + (i + 1), result6.snapshotItem(0).href);
      localStorage.setItem(result6.snapshotItem(0).href, result5.snapshotItem(0).href);
      alert("「続きを読む」リンクのURLを保存しました");
      break;
    }
  }
}

function sample2() {
  var buf = "";
  var result6 = document.evaluate('//link[@rel="canonical"]', document, null, 7, null);
  for (var i = 0; i < 128; i++) {
    if ("url" + (i + 1) in localStorage) {
      var tmp = localStorage.getItem(localStorage.getItem("url" + (i + 1)));
      buf = buf + " " + tmp;
    } else {
      break;
    }
  }
  var sign = prompt("url_list", buf);
}

function sample3() {
  var result6 = document.evaluate('//link[@rel="canonical"]', document, null, 7, null);
  if (result6.snapshotItem(0).href in localStorage) {
    localStorage.removeItem(result6.snapshotItem(0).href);
    alert("このページをキーから削除しました");
  } else {
    alert("キーが登録されていません");
  }
}

irorio.jpで改行をシンプルに

// ==UserScript==
// @name         irorio_br
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://irorio.jp/takumiurushidate/20170716/408611/
// @grant        none
// ==/UserScript==
var result = document.evaluate('//div[@class="post-body"]/p[./span]', document, null, 7, null);
for (var i = 0; i < result.snapshotLength; i++) {
  result.snapshotItem(i).classList.add("i_name");
}
.post-body {padding:0 !important;}
.post-body {padding-left:6px !important;}
.post-body p{margin:0 !important;}
.post-body p+.i_name{margin-top:20px !important;}