Skip to content

Instantly share code, notes, and snippets.

@gyuque
Forked from ssig33/EvilRT.user.js
Created January 24, 2012 14:24
Show Gist options
  • Save gyuque/1670414 to your computer and use it in GitHub Desktop.
Save gyuque/1670414 to your computer and use it in GitHub Desktop.
Google+ の名前のとこを薄くぼかすやつ
// ==UserScript==
// @name EvilRT
// @namespace gyuque
// @include https://plus.google.co*
// ==/UserScript==
/*
This code is available under dual licensing, the MIT license and the
DeNA License.
*/
/*
Copyright (c) 2012 Satoshi Ueyama and Rick Koike.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
ソフトウェア利用許諾条項
本ソフトウェア利用許諾条項(以下「本利用許諾条項」という。)は、株式会社ディー・エヌ・エー
(以下「当社」という。)が開発していない本ソフトウェア(第1条に定義する。)の利用許諾の条件
を定めるものである。
第1条(定義)
本利用許諾条項において、下記の用語は、以下の意味を有するものとする。
「本ソフトウェア」 EvilRT.user.jsをいう。
「利用者」 本利用許諾条項の内容に同意し、本利用許諾条項に定めるところに従い本ソフトウェアを利用する
者をいう。
第2条(権利の帰属)
本ソフトウェアにつき、本利用許諾条項において明示的に利用者に対し付与されていない権利はすべて、当社に
留保されるものとする。
第3条(本ソフトウェアの利用許諾)
1. 本利用許諾条項に定めるところに従い、当社は、利用者に対し、無償にて、(i)本ソフトウェアを非独占的に
使用、複製又は改変すること、及び(ii)複製した本ソフトウェアを第三者に頒布すること、を許諾するものと
する。但し、利用者は、当社の事前の書面による承諾を得なければ、本ソフトウェアを直接的であるか間接的
であるかを問わず営利目的で使用、複製、改変又は頒布(以下「使用等」と総称する。)することはできない
ものとする。
2. 前項但書の規定にかかわらず、当社は、利用者が、Mobageオープンプラットフォームに提供されるソーシャル
ゲーム・ソフトウェアの開発・頒布のために本ソフトウェアを使用等することをあらかじめ承諾するものとする。
3. 利用者は、当社の事前の書面による承諾を得なければ、本条第1項の規定に従い改変した本ソフトウェアを
第三者に頒布し、又は当該改変後の本ソフトウェアのソースコードを第三者に公開してはならないものとする。
利用者は、本条第1項の規定に従い改変した本ソフトウェアを第三者に頒布し、又は当該改変後の本ソフトウェア
(以下「本改変ソフトウェア」という。)のソースコードを第三者に公開する場合には、(i)本改変ソフトウェアの
ソースコードを、本ソフトウェアと同様の方法で公開し、かつ(ii)本利用許諾条項と実質的に同一の条件にて、
第三者に対して、本改変ソフトウェアの使用許諾を行うものとする。
第4条(保証等の否認)
1. 当社は、本ソフトウェア及び本改変ソフトウェアに関して、明示又は黙示を問わず、一切の責任(瑕疵担保責任、
債務不履行責任、不法行為責任を含む。)を負わないものとする。本ソフトウェアの瑕疵の修補又は改良は、
当社の裁量によって行うものとし、当社はかかる修補又は改良を行う義務は一切負わないものとする。
2. 当社は、本ソフトウェア及び本改変ソフトウェアが正常に動作することを保証しないものとする。
3. 当社は、本ソフトウェア及び本改変ソフトウェア自体並びに本ソフトウェア及び本改変ソフトウェアの使用等が第三者の特許権、著作権その他の権利を侵害しないことを保証しないものとする。
第5条(利用許諾の終了)
当社は、当社の都合により、いつてにも、第3条に基づく本ソフトウェアの利用許諾を終了することができる。
第6条(準拠法)
本利用許諾条項に関する紛争については東京地方裁判所を第一審の専属合意管轄裁判所とし、準拠法は、日本法とする。
以上
*/
(function() {
function makeFunc(postBox) {
if (postBox.className.indexOf('evilrt_') >= 0) {
return;
}
var btn = document.createElement("button");
btn.innerHTML = "Blur";
postBox.appendChild(btn);
postBox.className += " evilrt_";
btn.style.fontSize = "6px";
btn.style.position = "absolute";
btn.style.left = "-0.5em";
btn.style.top = "-0.9em";
btn.style.opacity = "0.6";
btn.addEventListener("click", function(){
makeBlur(postBox);
}, false);
}
function makeBlur(postBox) {
//postBox.style.overflow = "hidden";
var nameBoxes = postBox.getElementsByClassName("eE");
if (nameBoxes[0]) {
var nameBox = nameBoxes[0];
var nameLinks = postBox.getElementsByClassName("yn");
var len = nameLinks.length;
for (var i = 0;i < len;i++) {
var st = nameLinks[i].style;
st.position = "relative";
st.left = "-1300px";
st.textShadow =
(navigator.userAgent.indexOf('WebKit') > -1) ?
"1300px 0 2px #36c" : "1300px 0 1.5px #36c";
}
}
var avBoxes = postBox.getElementsByClassName("Fn");
relpaceIcons(avBoxes);
}
function relpaceIcons(list) {
var len = list.length;
for (var i = 0;i < len;i++) {
relpaceIcon(list[i]);
}
}
function relpaceIcon(iconImg) {
var w = iconImg.offsetWidth;
var h = iconImg.offsetHeight;
var cv = document.createElement("canvas");
cv.width = Math.floor(w / 3) + 3;
cv.height = Math.floor(h / 3) + 3;
cv.getContext("2d").drawImage(iconImg, 0, 0, w, h, 1, 1, w/3, h/3);
cv.style.width = (w+9)+"px";
cv.style.height = (h+9)+"px";
cv.style.top = "-3px";
cv.style.left = "-3px";
cv.style.marginRight = "-3px";
cv.style.marginBottom = "-3px";
cv.style.position = "relative";
var container = iconImg.parentNode;
cv.className = iconImg.className;
container.insertBefore(cv, iconImg);
container.removeChild(iconImg);
}
function calcPosition(aElement) {
var win = aElement.ownerDocument.defaultView;
var x = y = 0;
while (aElement.offsetParent) {
x += aElement.offsetLeft;
y += aElement.offsetTop;
aElement = aElement.offsetParent;
}
return {x:x >> 0, y:y >> 0, win:win};
}
var gyuque = function(){
setTimeout(function(){
var nodes = document.getElementsByClassName("Ve");
for (var i = 0;i < nodes.length;i++) {
makeFunc(nodes[i]);
}
gyuque();
}, 800);
}
gyuque();
}) ();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment