Created
December 3, 2011 17:24
-
-
Save esperia/1427629 to your computer and use it in GitHub Desktop.
Mixiにキモいね!ボタンを追加するuserJS拡張。 Chrome(またはFirefox+greasemonkey)で動きます。rawのリンクをクリックするとインストールできます。一時ネタ用なのでキモイね状態は保存されないです。 Chromeの場合、URL欄に chrome://extensions/ と入れたときに出る画面からアンインストールできます
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Kimoine! in mixi | |
// @namespace http://d.hatena.ne.jp/esperia/ | |
// @author esperia | |
// @description Let's Say, "Kimoine"! | |
// @include http://mixi.jp/home.pl* | |
// @match http://mixi.jp/home.pl* | |
// ==/UserScript== | |
// | |
(function() { | |
var KimoineImgResource = "data:image/gif;base64,R0lGODlhIAAdAKUAAP/////+/P/9+f/89v/78//68P/57f/35//x1f/w0v/sxv/pvf/nt//lsf/kruPj5P/iqP/hpf/fn//dmf/bk//akP/Zjf/Yiv/Xh//SeP/Pb//ObNDQ0f/MZv/HV//GVP/ETv/AQv+9Of+5Lf+3J/+2JP+0Hv+xFf+wEv+uDP+tCf+qAP///////////////////////////////////////////////////////////////////////////////yH5BAEHAD8ALAAAAAAgAB0AAAaKwB9nSCwaj8ih8AFoOp/QqPQxlFqv0apUhe1qoypuGBouj59fp5lrZUvTZKw7y7nO1esyuv7Mn+NWcIBbV4J9dndOhmpyZntyXYF8kZSKk5WUi5hvl22bAJpNiQB/dJBbo02LpWSpoJ2irH2ucGeuspZ2n7meu6+6bbSwvlChxENMxFMcQknOz0pBADs="; | |
function stupidText() { | |
var text = [ | |
'アホスw', | |
'バカすww', | |
'これはひどい', | |
'ここに病院を建てよう', | |
'おまわりさんこっちです' | |
]; | |
var random = parseInt(Math.random()*text.length); | |
return text[random]; | |
} | |
function addKimoineEl(sayEl) { | |
function createKimoineStatusEl() { | |
var liEl = document.createElement('li'); | |
liEl.className = "kimoine"; | |
liEl.appendChild(document.createTextNode(stupidText())); | |
return liEl; | |
} | |
function onClickKimoineEl(evt) { | |
var commentAreaEl = sayEl.querySelector('.commentArea'); | |
commentAreaEl.style.display = 'block'; | |
var feedbackStatusEl = commentAreaEl.querySelector('.JS_feedbackStatus'); | |
feedbackStatusEl.style.display = 'block'; | |
var statusEl = feedbackStatusEl.querySelector('.status'); | |
statusEl.appendChild(createKimoineStatusEl()); | |
} | |
function createKimoineBtnEl() { | |
var imgEl = document.createElement('img'); | |
imgEl.src = KimoineImgResource; | |
imgEl.setAttribute('title', 'kimoine'); | |
imgEl.setAttribute('alt', 'kimoineAlt'); | |
var aEl = document.createElement('a'); | |
aEl.className = "JS_commentButton"; | |
aEl.style.cursor = 'pointer'; | |
aEl.appendChild(imgEl); | |
aEl.addEventListener('click', onClickKimoineEl, false); | |
var liEl = document.createElement('li'); | |
liEl.className = 'kimoine'; | |
liEl.appendChild(aEl); | |
return liEl; | |
} | |
/* set button */ | |
var listActionEl = sayEl.querySelector('.listAction'); | |
listActionEl.style.width = '30%'; | |
var commentEl = listActionEl.querySelector('.comment'); | |
var KimoineEl = createKimoineBtnEl(); | |
listActionEl.insertBefore(KimoineEl, commentEl); | |
} | |
/* set sayList */ | |
var sayContainerEl = document.querySelector('#JS_categorizedFlowContainer .homeFeedList'); | |
var sayListEl = sayContainerEl.childNodes; | |
var timerId = setInterval(function() { | |
if (sayContainerEl.childNodes.length) { | |
clearInterval(timerId); | |
for(var i=0; i<sayListEl.length; i++) { | |
addKimoineEl(sayListEl[i]); | |
} | |
} else { | |
console.log(sayContainerEl.childNodes.length); | |
} | |
}, 10); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment