Wassr BookMarklet
出典: Wassr Wiki
Wassr オフィシャルサイトで実行できるbookmarkletです。
目次 |
[編集] レス展開
各つぶやきについているレスを全て展開。
javascript:(function(){var l=document.links;for(var i=0;i<l.length;++i){if(l[i].className=='taggedlink res_num'){l[i].onclick();}}})();
[編集] サイドメニューにアクセスキーを
サイドメニューに、shift + alt と組み合わせてアクセスできるキーを追加。
javascript:(function(){document.getElementsByClassName("sidemenu")[0].innerHTML=document.getElementsByClassName("sidemenu")[0].innerHTML.replace("my/\">","my/\" accesskey=\"m\">").replace("users_reply/\">","users_reply/\" accesskey=\"r\">").replace("favorite/\">","favorite/\" accesskey=\"e\">").replace("friend/\">","friend/\" accesskey=\"f\">").replace("invite/\">","invite/\" accesskey=\"i\">").replace("todo/\">","todo/\" accesskey=\"t\">").replace("user/\">","user/\" accesskey=\"u\">");})();
[編集] GreaseMonkey スクリプトバージョン
Firefox専用です。wassr_access_gm.user.jsという名前で保存して、Firefoxにドロップしてください。
// ==UserScript==
// @name Wassr AccessKey Addition
// @namespace http://sl-library.soulfixin.net/
// @description Add accsesskey to wassr site sidemenu-bar
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
window.setTimeout(function(){document.getElementById('SideMainMenu').innerHTML=document.getElementById('SideMainMenu').innerHTML.replace("my/\">","my/\" accesskey=\"m\">").replace("MYページ","MYページ(m)").replace("users_reply/\">","users_reply/\" accesskey=\"r\">").replace("新着レス","新着レス(r)").replace("favorite/\">","favorite/\" accesskey=\"e\">").replace("イイネ!","イイネ!(e)").replace("friend/\">","friend/\" accesskey=\"f\">").replace("つながり","つながり(f)").replace("invite/\">","invite/\" accesskey=\"i\">").replace("友達を招待","友達を招待(i)").replace("todo/\">","todo/\" accesskey=\"t\">").replace("TODO","TODO(t)").replace("user/\">","user/\" accesskey=\"u\">").replace("ユーザー検索","ユーザー検索(u)");}, 60);
[編集] via一覧
viaをサイドメニュートップに並べます。wassr_vialist.user.jsという名前で保存して、Firefoxにドロップしてください。
[編集] GreaseMonkey スクリプトバージョン
// ==UserScript==
// @name Wassr via list
// @namespace http://sl-library.soulfixin.net/
// @description Add vialist to wassr site sidemenu-bar top
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
window.addEventListener("load" , function(){
var adddiv = "<div id=\"vialist\" style=\"font-size:70%;margin-bottom:2em;\">via一覧ダヨ<img class=\"emoji\" width=\"16\" height=\"16\" alt=\"目がハート\" src=\"/img/pictogram/E72A.gif\"/><br />";
var vialist = new Array(),vialistcnt=0,vianame,vialistcnt_m=0,chk_bol,icnt=0;
for(vialistcnt=0;vialistcnt<document.getElementsByTagName('img').length;++vialistcnt){
if(document.getElementsByTagName('img')[vialistcnt].getAttribute('class')=="viaemoji"){
vialist[document.getElementsByTagName('img')[vialistcnt].getAttribute('alt')] += 1;
}
}
for(key in vialist){
adddiv += "<a href=\"/status/?via=" + key+ "\">" + key + "</a> ";
}
adddiv += "</div>";
if(adddiv != "<div id=\"vialist\" style=\"font-size:70%;margin-bottom:2em;\">via一覧ダヨ<img class=\"emoji\" width=\"16\" height=\"16\" alt=\"目がハート\" src=\"/img/pictogram/E72A.gif\"/><br /></div>"){
document.getElementById('Side').innerHTML = adddiv + document.getElementById('Side').innerHTML;
}
},false);
[編集] カウント付き
// ==UserScript==
// @name Wassr via list - count version
// @namespace http://sl-library.soulfixin.net/
// @description Add vialist to wassr site sidemenu-bar top
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
window.addEventListener("load" , function(){
var adddiv = "<div id=\"vialist\" style=\"font-size:70%;margin-bottom:2em;\">via一覧ダヨ<img class=\"emoji\" width=\"16\" height=\"16\" alt=\"目がハート\" src=\"/img/pictogram/E72A.gif\"/><br />";
var vialist = new Array(),vialistkeys=new Array(),vialistcnt=0,iCnt=0;
for(vialistcnt=0;vialistcnt<document.getElementsByTagName('img').length;++vialistcnt){
if(document.getElementsByTagName('img')[vialistcnt].getAttribute('class')=="viaemoji"){
vialistkeys[document.getElementsByTagName('img')[vialistcnt].getAttribute('alt')] = new Array();
vialist[iCnt]=document.getElementsByTagName('img')[vialistcnt].getAttribute('alt');
++iCnt;
}
}
for(vialistcnt=0;vialistcnt<vialist.length;++vialistcnt){
for(key in vialistkeys){if(key == vialist[vialistcnt]){vialistkeys[key][vialistkeys[key].length+1]= "1";}}
}
for(key in vialistkeys){
adddiv += "<nobr><a href=\"/status/?via=" + key+ "\">" + key + "</a> :: " + vialistkeys[key].length/2+ "わさ, </nobr> ";
}
adddiv += "</div>";
if(adddiv != "<div id=\"vialist\" style=\"font-size:70%;margin-bottom:2em;\">via一覧ダヨ<img class=\"emoji\" width=\"16\" height=\"16\" alt=\"目がハート\" src=\"/img/pictogram/E72A.gif\"/><br /></div>"){
document.getElementById('Side').innerHTML = adddiv + document.getElementById('Side').innerHTML;
}
},false);
[編集] サイドメニューデザイン版
カウント付きでサイドメニューにマッチしたデザインにして追加します。
// ==UserScript==
// @name Wassr via list - count and design
// @namespace http://sl-library.soulfixin.net/
// @description Add vialist(count and design) to wassr site sidemenu-bar top
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
var gm_vialist_makebasediv = function(){
var motherdiv = document.createElement('div');
motherdiv.setAttribute("id","vialist");
motherdiv.setAttribute("class","Side-contents");
motherdiv.setAttribute("style","font-size:75%;");
var childtext = document.createTextNode("via一覧ダヨ");
var childimg = document.createElement('img');
var childimgstats = {
"class":"emoji","width":"16","height":"16","alt":"目がハート","src":"/img/pictogram/E72A.gif"
};
for(key in childimgstats){
childimg.setAttribute(key,childimgstats[key]);
}
var childbar = document.createElement('br');
motherdiv.appendChild(childtext);
motherdiv.appendChild(childimg);
motherdiv.appendChild(childbar);
return motherdiv;
};
window.addEventListener("load" , function(){
var defdiv = gm_vialist_makebasediv();
var adddiv = defdiv;
var vialist = new Array(),vialistkeys=new Array(),vialistcnt=0,iCnt=0,elename;
for(vialistcnt=0;vialistcnt<document.getElementsByTagName('img').length;++vialistcnt){
if(document.getElementsByTagName('img')[vialistcnt].getAttribute('class')=="viaemoji"){
elename = document.getElementsByTagName('img')[vialistcnt].getAttribute('alt');
vialistkeys[elename] = new Array();
vialist[iCnt]=elename;
++iCnt;
}
}
if(vialist.length == 0){
return null;
}
for(vialistcnt=0;vialistcnt<vialist.length;++vialistcnt){
for(key in vialistkeys){if(key == vialist[vialistcnt]){vialistkeys[key][vialistkeys[key].length+1]= "1";}}
}
var ele1,ele2,ele3,ele4,ele5;
for(key in vialistkeys){
ele1 = document.createElement('span');
ele1.setAttribute("style",'padding:5px 0 5px 0;margin:2px;');
ele2 = document.createElement('a');
ele2.setAttribute("href","/status/?via=" + key );
ele3 = document.createTextNode(key);
ele4 = document.createTextNode(" :: " + vialistkeys[key].length/2 + "わさ ");
ele5 = document.createElement('br');
ele2.appendChild(ele3);
ele1.appendChild(ele2);
ele1.appendChild(ele4);
ele1.appendChild(ele5);
adddiv.appendChild(ele1);
}
var broele = document.getElementById('SideBox-Info');
var topsign = document.createElement('div');
topsign.setAttribute("class","Side-hd");
var bottomsign = document.createElement('div');
bottomsign.setAttribute("class","Side-ft");
document.getElementById('Side').insertBefore(bottomsign,broele);
document.getElementById('Side').insertBefore(adddiv,bottomsign);
document.getElementById('Side').insertBefore(topsign,adddiv);
},false);
[編集] via APIから表示
ページ上部にvia APIを利用して生成したフォームから、選択した各via発言を表示します。
// ==UserScript==
// @name Wassr via search by API
// @namespace http://sl-library.soulfixin.net/
// @description Wassr via search by API
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
GM_xmlhttpRequest({
method:"GET",
url:"http://api.wassr.jp/statuses/via.json",
onload:function(e){
var ele = eval('(' + e.responseText + ')');
var iCnt=0,tags = "<form style='font-size:70%;margin-bottom:10px;'>";
tags += "<img src=\"http://wassr.jp/img/pictogram/E727.gif\">全viaから投稿サーチ!";
tags += "<select id=\"wassrVIA\" onChange=\"javascript:location.href='http://wassr.jp/status/?via=' + ";
tags += "document.getElementById('wassrVIA').options[document.getElementById('wassrVIA').selectedIndex].value \">";
for(;iCnt<ele.length;++iCnt){
tags+="<option value=\"" + ele[iCnt] + "\" >" + ele[iCnt] + "</option>\n";
}
tags += "</select></form>";
document.getElementById('globalmenu').innerHTML=document.getElementById('globalmenu').innerHTML+tags;
}
}
);
[編集] 絵文字をカット
// ==UserScript==
// @name Wassr HidePictgram
// @namespace http://sl-library.soulfixin.net/
// @include http://wassr.jp/*
// ==/UserScript==
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
window.addEventListener("load" , function(){
var pagedata = document.getElementsByTagName('body')[0].innerHTML;
var regexdata = /<img class=\"emoji\"[^>]+>/;
while(pagedata.search(regexdata) > -1){
pagedata = pagedata.replace(pagedata.match(regexdata).toString(),"");
}
document.getElementsByTagName('body')[0].innerHTML = pagedata;
},false);
