2ch スレへのリンクを全て rep2ch 用に
// ==UserScript==
// @name rep2ch
// @namespace http://lowreal.net/2006/rep2ch.user.js
// @description 2ch スレへのリンクを全て rep2ch 用に
// @include http://*.2ch.net/test/read.cgi/*
// @include http://*.bbspink.com/test/read.cgi/*
// @version 1.0.0-20160713-1
// ==/UserScript==
//
(function () {
// @include だと http://example.com/?http://ex.2ch.net/test/read.cgi/* にもマッチしてしまう
var regexp = RegExp("^http://[^.]+?\.(2ch\.net|bbspink\.com)/test/read.cgi/[^/]+?/[0-9]+");
if (!document.location.href.match(regexp)) return;
var URL_TO = GM_getValue("url_to");
var setURL = function () {
URL_TO = prompt("Input rep2 URL.\nex. http://example.com/rep2/read.php?url=");
GM_setValue("url_to", URL_TO);
}
if (!URL_TO || URL_TO == "") {
setURL();
}
if (confirm("Open with rep2ch?")) {
window.location = URL_TO + window.location.href;
}
var div = document.createElement("div");
with (div.style) {
border = "1px solid #000";
margin = "0 0 0.5em 0";
padding = "0 1em";
background = "#fff";
}
var link = document.createElement('a');
link.href = URL_TO + document.location.href;
link.appendChild(document.createTextNode("Open with rep2"));
div.appendChild(link);
div.appendChild(document.createTextNode(" "));
var slink = document.createElement("a");
slink.href = "javascript:void();";
slink.addEventListener("click", setURL, false);
slink.addEventListener("keypress", setURL, false);
slink.appendChild(document.createTextNode("Reset rep2 URL"));
div.appendChild(slink);
var refNode = document.body.firstChild;
document.body.insertBefore(div, refNode);
})();