- -pv
スレッドの閲覧状況:
現在、- がスレを見ています。
これまでに合計 - 表示されました。
※PC・スマホの表示回数をカウントしてます。
※24時間表示がないスレのPVはリセットされます。

ブックマークレット

1名無しさん:2013/07/01(月)07:18:52 ID:ukT/HvmBn()
ブックマークレット・Bookmarklet の話題
88名無しさん@おーぷん :2015/03/20(金)21:48:25 ID:OEr
ttp:// も http:// に直し、imgur以外もサムネイル表示するブックマークレット
スレ表示後に実行して、マウスカーソルをURLの上に動かせばおk

JavaScript:(function(){
var open2chImgWaiting = 0;
function extractImgURLs(text) {
var a = [];
text.replace(/[\w\:\/\.\-]*\.(gif|jpg|jpeg|png)(\W|$)/igm, function(s) {
s = s.replace(/\W$/, "");
a.push(s);
});
return a;
};
function open2chOnMouseMove(event) {
var e = event.target;
if (e.tagName == "DD") {
if (e.getAttribute("done")) return;
e.setAttribute("done",1);
var s = e.innerHTML;
s = s.replace("<br>","\n","igm");
s = s.replace(/\<[^<>]*\>/igm,"");
var urls = extractImgURLs(s);
for (var i = 0; i < urls.length; i++) {
var url = urls[i].trim();
if (url.match(/^http.*/i)) continue;
url = "http://"+url.replace(/^.*\/\//i,"").trim();
var a = e.ownerDocument.createElement("A");
a.href = url;
a.textContent = url;
e.appendChild(e.ownerDocument.createElement("BR"));
e.appendChild(a);
};
} else if (e.tagName == "A" || e.tagName == "SPAN") {
if (e.getAttribute("done")) return;
var s = e.tagName == "A" ? e.href : e.innerHTML;
if (s.match(/\.(gif|jpg|jpeg|png)$/i)) {
e.setAttribute("done", 1);
open2chImgWaiting++;
event.view.setTimeout(function () {
if (s.split("/")[2] != "imgur.com") {
e.outerHTML = "<a done=1 href=" + s + " target=_blank>" + s +
"<br><img src=" + s + " style='max-width:25%;max-height:25%;'></a>";
};
open2chImgWaiting--;
}, open2chImgWaiting * 500);
};
};
};
addEventListener("mousemove", open2chOnMouseMove, false);
})();
89名無しさん@おーぷん :2015/03/20(金)22:06:51 ID:OEr
JavaScriptとCSSを圧縮・軽量化するオンラインツール集 | コリス
http://coliss.com/articles/build-websites/operation/javascript/334.html

/packer/
http://dean.edwards.name/packer/
90名無しさん@おーぷん :2015/03/20(金)22:08:54 ID:OEr
そのままだと行が長すぎて書き込めなかった
>>88のソースを packer で最小化した

JavaScript:(function(){var f=0;function extractImgURLs(b){var a=[];b.replace(/[\w\:\/\.\-]*\.(gif|jpg|jpeg|png)(\W|$)/gim,function(s){s=s.replace(/\W$/,'');
a.push(s)});return a};function open2chOnMouseMove(b){var e=b.target;if(e.tagName=='DD'){if(e.getAttribute('done'))return;e.setAttribute('done',1);
var s=e.innerHTML;s=s.replace('<br>','\n','igm');s=s.replace(/\<[^<>]*\>/gim,'');var c=extractImgURLs(s);
for(var i=0;i<c.length;i++){var d=c[i].trim();if(d.match(/^http.*/i))continue;d='http://'+d.replace(/^.*\/\//i,'').trim();
var a=e.ownerDocument.createElement('A');a.href=d;a.textContent=d;e.appendChild(e.ownerDocument.createElement('BR'));
e.appendChild(a)}}else if(e.tagName=='A'||e.tagName=='SPAN'){if(e.getAttribute('done'))return;var s=e.tagName=='A'?e.href:e.innerHTML;
if(s.match(/\.(gif|jpg|jpeg|png)$/i)){e.setAttribute('done',1);f++;b.view.setTimeout(function(){if(s.split('/')[2]!='imgur.com'){
e.outerHTML='<a done=1 href='+s+' target=_blank>'+s+'<br><img src='+s+' style=\'max-width:25%;max-height:25%;\'></a>'};
f--},f*500)}}};addEventListener('mousemove',open2chOnMouseMove,false)})();
91名無しさん@おーぷん :2015/03/21(土)17:43:14 ID:DAT
/*
統計ページをID数でソート
IDあたりの投稿数の追加
tr[0] = 新スレ投稿数ID数板
*/
JavaScript:(function(){
var doc = document;
var tbody3 = doc.getElementsByTagName("tbody")[3];
if (tbody3.getAttribute("extended") == 1) return;
tbody3.setAttribute("extended", 1);
tbody3.setAttribute("align", "right");
function addPerId(tr, text) {
var e = doc.createElement("td");
e.textContent = text;
tr.insertBefore(e, tr.childNodes[3]);
};
var tr = tbody3.getElementsByTagName("tr");
var td = tr[0].getElementsByTagName("td");
td[3].setAttribute("align", "left"); // 「板」を左揃えにする
addPerId(tr[0], "投稿/ID");
var temp = [];
for(var i = tr.length - 1; i > 0; i--){
var td = tr[i].getElementsByTagName("td");
var newThread = td[0].textContent.replace(/^\+/, "");
var kakiko = td[1].textContent.replace(/^\+/, "");
var idNum = td[2].textContent.replace(/^\+/, "");
var bbs = td[3].children[0].href.match(/\/[^\/]*\/$/)[0].replace("/", "", "g");
var title = td[3].children[0].innerHTML;
td[3].setAttribute("align", "left");
var perId = idNum >= 0 ? parseInt(kakiko/idNum) : 0;
addPerId(tr[i], perId);
temp.push({tr:tr[i], newThread:newThread, kakiko:kakiko, idNum:idNum,
perId:perId, bbs:bbs, title:title});
tbody3.removeChild(tr[i]);
};
temp.sort(function(a, b){return b.idNum - a.idNum;}); // ID数でソート
//temp.sort(function(a, b){return b.perId - a.perId;}); // 投稿数/IDでソート
for(var i = 0; i < temp.length; i++){
tbody3.appendChild(temp[i].tr);
};
})();

92名無しさん@おーぷん :2015/03/21(土)17:45:20 ID:DAT
>>91を短くしたもの

JavaScript:(function(){var c=document;var d=c.getElementsByTagName("tbody")[3];
if(d.getAttribute("extended")==1)return;d.setAttribute("extended",1);
d.setAttribute("align","right");function addPerId(a,b){var e=c.createElement("td");
e.textContent=b;a.insertBefore(e,a.childNodes[3])};var f=d.getElementsByTagName("tr");
var g=f[0].getElementsByTagName("td");g[3].setAttribute("align","left");addPerId(f[0],"投稿/ID");
var h=[];for(var i=f.length-1;i>0;i--){var g=f[i].getElementsByTagName("td");
var j=g[0].textContent.replace(/^\+/,"");var k=g[1].textContent.replace(/^\+/,"");
var l=g[2].textContent.replace(/^\+/,"");var m=g[3].children[0].href.match(/\/[^\/]*\/$/)[0].replace("/","","g");
var n=g[3].children[0].innerHTML;g[3].setAttribute("align","left");var o=l>=0?parseInt(k/l):0;addPerId(f[i],o);
h.push({tr:f[i],newThread:j,kakiko:k,idNum:l,perId:o,bbs:m,title:n});d.removeChild(f[i])};
h.sort(function(a,b){return b.idNum-a.idNum});for(var i=0;i<h.length;i++){d.appendChild(h[i].tr)}})();
93名無しさん@おーぷん :2015/03/21(土)19:43:15 ID:DAT
投稿数の1日あたりの予測追加
一時間当たりの投稿数
ID数でソート
ソート方法をクリックして選べるようにしたい

JavaScript:(function(){var d=document;var f=d.getElementsByTagName("tbody")[3];
if(f.getAttribute("extended")==1)return;f.setAttribute("extended",1);
f.setAttribute("align","right");function addTR(a,b){var e=d.createElement("td");
e.textContent=b;a.insertBefore(e,a.childNodes[3])};var g=f.getElementsByTagName("tr");
var j=g[0].getElementsByTagName("td");j[3].setAttribute("align","left");addTR(g[0],
"投稿/時");addTR(g[0],"投稿/ID");var s=d.getElementById("timerBox").textContent;
var t=s.match(/\d+\:\d+\:\d+/)[0].split(":");var h=parseInt(t[0])+parseInt(t[1])/60+
parseInt(t[2])/(60*60);(function(){var a=document.getElementsByTagName("tbody")[0];
var b=a.getElementsByTagName("tbody")[0];var c=b.childNodes[3].cloneNode(true);
c.childNodes[0].textContent="予測:";
var n=c.childNodes[1].childNodes[0].textContent.match(/\d+/)[0];
c.childNodes[1].childNodes[0].textContent="+"+parseInt(n/h*24);
b.insertBefore(c,b.childNodes[4])})();var k=[];for(var i=g.length-1;i>0;i--)
{var j=g[i].getElementsByTagName("td");var l=j[0].textContent.replace(/^\+/,"");
var m=j[1].textContent.replace(/^\+/,"");var o=j[2].textContent;
var p=j[3].children[0].href.match(/\/[^\/]*\/$/)[0].replace("/","","g");
var q=j[3].children[0].innerHTML;j[3].setAttribute("align","left");
var r=parseInt(m/h);addTR(g[i],r);var u=o>=0?parseInt(m/o):0;addTR(g[i],u);
k.push({tr:g[i],newThread:l,kakiko:m,idNum:o,perId:u,perHour:r,bbs:p,title:q});
f.removeChild(g[i])};k.sort(function(a,b){return a.idNum-b.idNum});
for(var i=k.length-1;i>=0;i--){f.appendChild(k[i].tr)}})();

94名無しさん@おーぷん :2015/03/21(土)20:12:53 ID:3YN
ひとつ改造を依頼していいでしょうか
投稿/IDは小数第一位まで表示できるようになりませんか
95名無しさん@おーぷん :2015/03/21(土)20:41:59 ID:bgG
>>94
勝手に改造してみた

JavaScript:(function(){function f(a,b){var c=g.createElement("td");c.textContent=b;a.insertBefore(c,a.childNodes[3])}var g=document,e=g.getElementsByTagName("tbody")[3];if(1!=e.getAttribute("extended")){e.setAttribute("extended",1);e.setAttribute("align","right");
var c=e.getElementsByTagName("tr"),a=c[0].getElementsByTagName("td");a[3].setAttribute("align","left");f(c[0],"投稿/時");f(c[0],"投稿/ID");var d=g.getElementById("timerBox").textContent.match(/\d+\:\d+\:\d+/)[0].split(":"),l=parseInt(d[0])+
parseInt(d[1])/60+parseInt(d[2])/3600;(function(){var a=document.getElementsByTagName("tbody")[0].getElementsByTagName("tbody")[0],b=a.childNodes[3].cloneNode(!0);b.childNodes[0].textContent="予測:";var c=b.childNodes[1].childNodes[0].textContent.match(/\d+/)[0];
b.childNodes[1].childNodes[0].textContent="+"+parseInt(c/l*24);a.insertBefore(b,a.childNodes[4])})();for(var d=[],b=c.length-1;0<b;b--){var a=c[b].getElementsByTagName("td"),n=a[0].textContent.replace(/^\+/,""),h=a[1].textContent.replace(/^\+/,
""),k=a[2].textContent,p=a[3].children[0].href.match(/\/[^\/]*\/$/)[0].replace("/","","g"),q=a[3].children[0].innerHTML;a[3].setAttribute("align","left");a=parseInt(h/l);f(c[b],a);var m=0<=k?(h/k).toFixed(1):0;f(c[b],m);
d.push({tr:c[b],newThread:n,kakiko:h,idNum:k,perId:m,perHour:a,bbs:p,title:q});e.removeChild(c[b])}d.sort(function(a,b){return a.idNum-b.idNum});for(b=d.length-1;0<=b;b--)e.appendChild(d[b].tr)}})();
96名無しさん@おーぷん :2015/03/21(土)20:42:37 ID:DAT
これいるかね
小数点の見にくさは全角.使えばましになるけど
パット見て、IDあたりの投稿数がわかりにくいと思う

97名無しさん@おーぷん :2015/03/21(土)20:45:24 ID:DAT
四捨五入の整数がいいかな?
98名無しさん@おーぷん :2015/03/21(土)20:52:07 ID:3YN
改造ありがとうございます
わかりやすさは人によるから何ともいえませんが
桁の位置が揃っていれば混乱はしないでしょう
小数第一位版は、特にID数でソートしたものについて
投稿/IDを比較するときに有用だと思っています
整数版とどっちを使うかは人それぞれということで
99名無しさん@おーぷん :2015/03/21(土)20:53:15 ID:DAT
innerHTML使っちゃダメだった

element.innerHTML - Web API インターフェイス | MDN
https://developer.mozilla.org/ja/docs/Web/API/Element/innerHTML
>DOM Level 0。どの標準にも属しません。
100名無しさん@おーぷん :2015/03/21(土)20:54:25 ID:DAT
全角.使った場合

101名無しさん@おーぷん :2015/03/21(土)20:57:21 ID:DAT
投稿/時がおかしなことになってた
102名無しさん@おーぷん :2015/03/21(土)20:58:29 ID:3YN
全角はちょっと違和感があるような
103名無しさん@おーぷん :2015/03/21(土)22:54:46 ID:3YN
1時間あたり投稿数はどう解釈すればいいんでしょう
順序は投稿数と違わないので
104名無しさん@おーぷん :2015/03/21(土)23:23:06 ID:DAT
今日の0時からの書き込み数÷経過時間って意味ですけど
無くてもいいですね
時間によってだいぶ違うから
105名無しさん@おーぷん :2015/05/12(火)22:50:02 ID:FUQ
あげ
106名無しさん@おーぷん :2015/05/12(火)22:50:12 ID:FUQ
ここもダメか…
107名無しさん@おーぷん :2015/05/12(火)22:50:19 ID:FUQ
無念。。
108名無しさん@おーぷん :2015/05/12(火)23:08:44 ID:zKg
あげてす
109名無しさん@おーぷん :2015/05/26(火)20:51:09 ID:y2o
age
110名無しさん@おーぷん :2015/05/26(火)20:51:26 ID:y2o
ageage
111名無しさん@おーぷん :2015/05/26(火)20:51:34 ID:y2o
ageageage
112名無しさん@おーぷん :2015/05/26(火)20:51:53 ID:0Y7
age
113名無しさん@おーぷん :2015/05/26(火)20:51:59 ID:0Y7
ageage
114名無しさん@おーぷん :2015/05/26(火)20:52:11 ID:CCR
age
115名無しさん@おーぷん :2015/05/26(火)20:52:18 ID:CCR
だめか
116名無しさん@おーぷん :2015/05/26(火)20:52:24 ID:CCR
無念
117名無しさん@おーぷん :2015/07/15(水)02:39:47 ID:pV0
>>90
現在のimgurの拡張子無しリンクに対して
マウスなくして、拡張子付リンクに付け替えた表示だけに出来ないですかね?


 □ ←サムネ画像&リンクはhttp://imgur.com/○○○○○
 http://imgur.com/○○○○○.jpg ←リンクはhttp://imgur.com/○○○○○

に対して
 □
 http://imgur.com/○○○○○.jpg
 http://imgur.com/○○○○○.jpg ←リンクはhttp://imgur.com/○○○○○.jpg

みたいに1行追加するだけ
118名無しさん@おーぷん :2015/07/15(水)02:51:25 ID:pV0
>>117
頭中うpしてしまった

現在の状態だと、imgurでの表示になり、
ani-gifがコントロール付表示されて素(右クリック)でDL出来ないから非常に不便

多分マウス(open2chOnMouseMove)関連を削除すればいいのかな?とは思うものの
JavaScriptなんて全く知らないので、命令?がドコで区切れてるやら…

強制sageになっちゃてるけれど、もし気付かれたら
どなたか改変願えないでしょうか
119名無しさん@おーぷん :2015/07/17(金)23:12:33 ID:MiK
>>118
よくわからんが>>90を無視して作った

javascript:(function(){function d(b){[].forEach.call(b.querySelectorAll("dd .imgur>a"),function(a){var b=a.textContent.trim(),c=a.cloneNode(!1);c.href=b;c.textContent=b;c.style.fontSize="10px";a.lastElementChild.innerHTML="";a.lastElementChild.appendChild(c);a.outerHTML=a.innerHTML})
}d(document.querySelector(".thread"));window.MutationObserver&&(new MutationObserver(function(b){b.forEach(function(a){[].forEach.call(a.addedNodes,d)})})).observe(document.querySelector(".thread"),{childList:!0})})();
120118 :2015/07/18(土)01:22:02 ID:K7Z
>>119
返事遅れてすみません

リンク自体書き換えた感じでしょうか?
確かに1行追加する意味はないですもんね
使わせて頂きます
ありがとう御座いました
121名無しさん@おーぷん :2015/07/31(金)12:12:22 ID:fgi
クリックした時にkomeの画像を拡大できるボタン

javascript:(function(){$("#komediv").width(400);$("#klog_view").width(400);$("#kvoice").before("<button id='kzm1'>x1</button>");
$("#kzm1").click(function(){$(".kkorabo").css("height","35");});$("#kvoice").before("<button id='kzm2'>x2</button>");
$("#kzm2").click(function(){$(".kkorabo").css("height","70");});$("#kvoice").before("<button id='kzm3'>x3</button>");
$("#kzm3").click(function(){$(".kkorabo").css("height","105");});})()
122名無しさん@おーぷん :2015/08/25(火)10:28:21 ID:mbd
sageのレスを含めて開いている板の新規レスを確認するブックマークレット
IE非対応

javascript:(function(){function k(){var a=new XMLHttpRequest;a.open("GET",e);return new Promise(function(c,b){a.onload=function(){200!==a.status?b(Error("http error: "+a.status+" "+a.statusText+"\n"+e)):
c(a.response)};a.onerror=function(){b(Error("network error\n"+e))};a.send()})}function l(a){return a.match(/.+/g).reduce(function(a,b){var d=b.match(/^(\d+).+?<>(.+)\((\d+)\)$/);a[d[1]]={name:d[2],count:+d[3]};return a},{})}function g(a){var c=h;a=JSON.stringify(a);localStorage[c]=a}function m(a,c){Object.keys(a).forEach(function(b){c[b]= a[b]})}function n(a,c){
return Object.keys(a).reduce(function(b,d){
c.hasOwnProperty(d)?a[d].count>c[d].count&&(b[d]={name:a[d].name,count:a[d].count-c[d].count}):b[d]=a[d];return b},{})}function p(a){var c="/test/read.cgi/",c=c+(f+"/");
return"<div><div><button>\u5168\u3066\u66f4\u65b0</button></div>"+Object.keys(a).map(function(b){return'<div><a href="'+c+b+'" target="_blank">'+
a[b].name+"(<span>+"+a[b].count+'</span>)</a><button class="updateButton" data-key="'+b+'">\u66f4\u65b0</button><style>.updateButton{margin-left:1em;}</style></div>'}).join("")+ "</div>"}function q(a,c){var b=document.body.lastElementChild;
b.firstElementChild.firstElementChild.addEventListener("click",function(){m(a,c);g(c);[].forEach.call(b.querySelectorAll(".updateButton"),function(a){a.previousElementSibling.lastElementChild.textContent="0"})});b.addEventListener("click",function(b){b=b.target;var e;b.classList
.contains("updateButton")&&(e=b.getAttribute("data-key"),c[e].count=a[e].count,g(c),b.previousElementSibling
.lastElementChild.textContent="0")})}var f=function(){var a= location.pathname,c;c="/test/read.cgi/"===a.slice(0,15)?15:1;return a.slice(c,a.indexOf("/",c))}(),e="/"+f+"/subject.txt",h="subject_"+f;(function(){k().then(l).then(function(a){
var c;c=h;c=localStorage.hasOwnProperty(c)?JSON.parse(localStorage[c]):{};var b=n(a,c),b=p(b);document.body.insertAdjacentHTML("beforeend",b);q(a,c)})["catch"](
function(a){console.error(a);alert(a)})})()})();
123名無しさん@おーぷん :2015/08/25(火)10:51:14 ID:mbd
>>122
キャッシュを回避するよう修正

javascript:(function(){function k(){var a=new XMLHttpRequest;a.open("GET",e);a.setRequestHeader("Cache-Control","no-cache");return new Promise(
function(c,b){a.onload=function(){200!==a.status?b(Error("http error: "+a.status+" "+a.statusText+"\n"+e)):c(a.response)};a.onerror=function(){b(Error("network error\n"+e))};a.send()})}
function l(a){return a.match(/.+/g).reduce(function(a,b){var d=b.match(/^(\d+).+?<>(.+)\((\d+)\)$/);a[d[1]]={name:d[2],count:+d[3]};return a},{})}function g(a){var c=h;a=JSON.stringify(a);
localStorage[c]=a}function m(a,c){Object.keys(a).forEach(function(b){c[b]=a[b]})}function n(a,c){return Object.keys(a).reduce(function(b,d){c.hasOwnProperty(d)?a[d].count>c[d].count&&(b[d]={
name:a[d].name,count:a[d].count-c[d].count}):b[d]=a[d];return b},{})}function p(a){var c="/test/read.cgi/",c=c+(f+"/");
return"<div><div><button>\u5168\u3066\u66f4\u65b0</button></div>"+Object.keys(a).map(function(b){return'<div><a href="'+c+b+'" target="_blank">'+a[b].name+"(<span>+"
+a[b].count+'</span>)</a><button class="updateButton" data-key="'+ b+'">\u66f4\u65b0</button><style>.updateButton{margin-left:1em;}</style></div>'}).join("")+"</div>"}
function q(a,c){var b=document.body.lastElementChild;b.firstElementChild.firstElementChild.addEventListener("click",function(){
m(a,c);g(c);[].forEach.call(b.querySelectorAll(".updateButton"),function(a){a.previousElementSibling.lastElementChild.textContent="0"})});
b.addEventListener("click",function(b){b=b.target;var e;b.classList.contains("updateButton")&&(e=b.getAttribute("data-key"),c[e].count=a[e].count, g(c),b.previousElementSibling.lastElementChild.textContent="0")})}
var f=function(){var a=location.pathname,c;c="/test/read.cgi/"===a.slice(0,15)?15:1;return a.slice(c,a.indexOf("/",c))}(),
e="/"+f+"/subject.txt",h="subject_"+f;(function(){k().then(l).then(function(a){var c;c=h;c=localStorage.hasOwnProperty(c)?
JSON.parse(localStorage[c]):{};var b=n(a,c),b=p(b);document.body.insertAdjacentHTML("beforeend",b);q(a,c)})["catch"](function(a){console.error(a);alert(a)})})()})();
124名無しさん@おーぷん :2015/08/29(土)04:20:29 ID:eG5
ageage
125名無しさん@おーぷん :2015/09/10(木)03:59:05 ID:rKq
age
126名無しさん@おーぷん :2015/11/12(木)22:50:26 ID:GIP
一応あげとく
127名無しさん@おーぷん :2015/11/27(金)21:51:35 ID:1hG
open2chのソース
http://toro.open2ch.net/test/read.cgi/tech/1372506269/238
のブックマークレットバージョン

このurlで試しすと、ヘッドラインからVIPとなんJのスレを削除します
http://open2ch.net/headline.cgi?o=updated&n=300&delbbs=news4plus%20news4vip%20livejupiter#form

javascript:(function(){function getURIQueryObj(b){var c={};var m=b.match(/\?.*/);
if(m){var s=m[0];s=s?s.slice(1):"";s=s.replace(/#.*$/,"");var a=s.split("&");
for(var i=0;i<a.length;i++){var p=a[i].indexOf("=");if(p){var d=decodeURIComponent(a[i].slice(0,p));
var e=decodeURIComponent(a[i].slice(p+1));c[d]=e}}}return c};var f=document;
var g=getURIQueryObj(f.location.href)["delbbs"];g=g?g.split(" "):[];
var h=getURIQueryObj(f.location.href)["deltitle"];h=h?h.split(" "):[];
var j=f.getElementsByTagName("tbody");var a=j[1].getElementsByTagName("a");
function checkTitle(a){for(var i=0;i<h.length;i++){if(a.indexOf(h[i])>=0)return true}
return false}for(var i=0;i<a.length;i++){var k=a[i].pathname.split("/")[3];
if((g.indexOf(k)>=0)||checkTitle(a[i].textContent))
a[i].parentElement.parentElement.setAttribute("hidden",1)}})();
128名無しさん@おーぷん :2015/11/28(土)22:54:53 ID:VpA
>>86 の複数板のヘッドラインも、URIで指定してできそう
129名無しさん@おーぷん :2015/12/04(金)17:39:00 ID:U4Q
あげげあげ
130名無しさん@おーぷん :2016/05/09(月)02:23:27 ID:xtQ
komeお絵かきの描画色を指定するブックマークレット
黒赤緑青白のボタンと、テキスト指定するボックスが追加されます。
テキストをコピペした場合は1回エンター叩いてください。

javascript:(function(){
ctx = document.getElementById("kcanvas").getContext("2d");
$("#kcanvas_view").before('<input id="kcc_0" type="button" value="黒">');
$("#kcc_0").click(function(){ctx.strokeStyle="black"});
$("#kcanvas_view").before('<input id="kcc_1" type="button" value="赤">');
$("#kcc_1").click(function(){ctx.strokeStyle="red"});
$("#kcanvas_view").before('<input id="kcc_2" type="button" value="緑">');
$("#kcc_2").click(function(){ctx.strokeStyle="green"});
$("#kcanvas_view").before('<input id="kcc_3" type="button" value="青">');
$("#kcc_3").click(function(){ctx.strokeStyle="blue"});
$("#kcanvas_view").before('<input id="kcc_4" type="button" value="白">');
$("#kcc_4").click(function(){ctx.strokeStyle="white"});
$("#kcanvas_view").before('色:<input id="kcc_ex" type="text" value="#000000">');
$("#kcc_ex").keyup(function(){ctx.strokeStyle=$("#kcc_ex").val()});
})();
131名無しさん@おーぷん :2016/09/27(火)16:09:14 ID:M5I
お絵かきの高機能モードで、「jsloader load error」を避けて使うためのブックマークレット
高機能モードのチェックボックスを入れる代わりにこれを使う

javascript:loadOekakiEx=function(){};/*!
* $script.js JS loader & dependency manager
* https://github.com/ded/script.js
* (c) Dustin Diaz 2014 | License MIT
*/(function(g,d){"undefined"!=typeof module&&module.exports?module.exports=d():"function"==typeof define&&define.amd?define(d):this[g]=d()})("$script",function(){function g(a,k){for(var b=0,c=a.length;b<c;++b)if(!k(a[b]))return r;return 1}function d(a,c){g(a,function(a){return!c(a)})}
function c(a,k,b){function v(a){return a.call?a():n[a]}function m(){if(!--r){n[q]=1;f&&f();for(var a in l)g(a.split("|"),v)&&!d(l[a],v)&&(l[a]=[])}}a=a[h]?a:[a];var e=k&&k.call,f=e?k:b,q=e?a.join(""):k,r=a.length;return setTimeout(function(){d(a,
function y(a,b){if(null===a)return m();a=b||-1!==a.indexOf(".js")||/^https?:\/\//.test(a)||!t?a:t+a+".js";if(p[a])return 2==p[a]?m():setTimeout(function(){y(a,!0)},0);p[a]=1;w(a,m)})},0),c}function w(a,c){var b=q.createElement("script"),d;b.onload=b.onerror=b[x]=function(){
b[e]&&!/^c|loade/.test(b[e])||d||(b.onload=b[x]=null,d=1,p[a]=2,c())};b.async=1;b.src=u?a+(-1===a.indexOf("?")?"?":"&")+u:a;f.insertBefore(b,f.lastChild)}var q=document,f=q.getElementsByTagName("head")[0],r=!1,h="push",e="readyState",
x="onreadystatechange",n={},l={},p={},t,u;return c.get=w,c.order=function(a,d,b){(function m(e){e=a.shift();a.length?c(e,m):c(e,d,b)})()},c.path=function(a){t=a},c.urlArgs=function(a){u=a},c.ready=function(a,e,b){a=a[h]?a:[a];var f=[];return!d(a,function(a){n[a]||f[h](a)})&&g(a,function(a){
return n[a]})?e():!function(a){l[a]=l[a]||[];l[a][h](e);b&&b(f)}(a.join("|")),c},c.done=function(a){c([null],a)},c});var EXFlag;
/* original source: http://let.st-hatelabo.com/Fxnimasu/let/hJmd88Dl4M4W.bookmarklet.js */
(function(){function g(){d(c,function(){checkNewVersion("17.0.2",VERSION_INFO);loadIcons("http://xnimasu.github.io/o2oEXLite/img/icon/");crUI();setEvent();ls.mode==MODE.L&&setLiteModeEvent();ls.mode==MODE.H&&setHighModeEvent();
initCanvas()})}function d(c,d){var f=[],g=/.css$/,h;for(h in c){var e=c[h];g.test(e)?$("<link>",{href:e,type:"text/css",rel:"stylesheet"}).appendTo($("body")):f.push(e)}
$script(f,d)}if(!EXFlag){EXFlag=!0;var c=["http://xnimasu.github.io/o2oEXLite/data/version.js","http://xnimasu.github.io/o2oEXLite/lib/jquery-ui/jquery-ui.min.js","http://xnimasu.github.io/o2oEXLite/lib/jquery-ui/jquery.ui.touch-punch.min.js",
"http://xnimasu.github.io/o2oEXLite/lib/pep/jquery.pep.js","http://xnimasu.github.io/o2oEXLite/css/jquery-ui/jquery-ui.min.css",
"http://xnimasu.github.io/o2oEXLite/lib/curve/spline.js","http://xnimasu.github.io/o2oEXLite/lib/glfx/glfx.js","http://xnimasu.github.io/o2oEXLite/lib/jcrop/jquery.Jcrop.min.js",
"http://xnimasu.github.io/o2oEXLite/css/jcrop/jquery.Jcrop.min.css","http://xnimasu.github.io/o2oEXLite/css/o2oEXLite.css","http://xnimasu.github.io/o2oEXLite/js/17.0.2/o2oEXLite.js"];
g()}})();
132Awn◆AwnAwnAwnA :2016/10/13(木)21:42:54 ID:w7Q
NGキーワードに自動で反応してアク禁するブックマークレット
http://let.hatelabo.jp/Awn/let/hJmd95KP8MNC
http://open2chnews4vipkotekaiseki.neocities.org/atracaapb.html
133Awn◆AwnAwnAwnA :2017/01/11(水)14:20:09 ID:uLH
奉納

NGキーワードに自動で反応してアク禁するブックマークレット2
http://let.hatelabo.jp/Awn/let/hLHWrMzj08dj


動作様子
自動アク禁のテストをしたいので書き込みしに来てください!
http://hayabusa.open2ch.net/test/read.cgi/news4vip/1483790401/
134名無しさん@おーぷん :2017/10/07(土)08:18:13 ID:7LH
5chの過去ログを日時で表示
KAKOLOG livejupiter
https://hawk.5ch.net/livejupiter/kako/kako0000.html

javascript:(function(){
function pushAll(dst, src){for(var i=0;i<src.length;i++){dst.push(src[i]);}}
function date(id,time) {
var day = '日月火水木金土';
var d = new Date();
d.setTime(id * 1000);
return d.toLocaleDateString() + '(' + day[d.getDay()] + ')' + (time?' '+d.toLocaleTimeString():'');
}
var a = [];
pushAll(a, document.getElementsByTagName("a"));
pushAll(a, document.getElementsByClassName("menu_here"));
pushAll(a, document.getElementsByClassName("main_range"));
for (var i = 0; i < a.length; i++) {
var e = a[i];
if (e.textContent.match(/\d{10}-\d{10}/)) {
e.textContent = e.textContent.replace(/\d{10}/gm, function(s){
return date(parseInt(s),false);
});
} else if (e.textContent.match(/\d{10}(|\s)\-(|\s)\d{10}/) || e.textContent.match(/\d{10}\.dat/)) {
e.textContent = e.textContent.replace(/\d{10}/gm, function(s){
return date(parseInt(s),true);
});
}
}
})();

135名無しさん@おーぷん :2017/10/07(土)13:21:31 ID:7LH
履歴から'news','news4vip','livejupiter','nohara'のスレを削除
長すぎるからか、一度に全部削除できないみたい

javascript:(function(){
function readURI(uri) {
var x = new XMLHttpRequest();
x.open("GET", uri, false);
x.send(null);
return x.responseText;
}
function delBBS(bbs){
var n=0;
var uri = "http://open2ch.net/test/history.cgi?mode=delete";
var a = document.getElementsByClassName('th');
for (var i = 0; i < a.length; i++) {
var s=a[i].getAttribute('key').split(":");
if (bbs.indexOf(s[0])>=0) {
uri=uri+"&chk:"+s[0]+":"+s[1]+"=1";
n++;
}
}
readURI(uri);
console.log(n+' deleted from open2ch history.');
}
delBBS(['news','news4vip','livejupiter','nohara']);
document.location.href = "http://open2ch.net/test/history.cgi";
})();
136名無しさん@おーぷん :2017/12/01(金)08:27:54 ID:GKR
>>135
下から削除しないとダメなのかも
for (var i=a.length-1;i>=0;i--) {
137名無しさん@おーぷん :2018/06/14(木)19:19:11 ID:Qy7
Oculus Goで日本語変換が使える件
http://www.itmedia.co.jp/news/articles/1806/13/news106.html

ブックマークレットで日本語変換という力技

新着レスの表示 | ここまで読んだ

名前: mail:





ブックマークレット
CRITEO