初めてのGreaseMonkey
8月 1st, 2008 by waku
JavaScriptの勉強をかねてはじめてGreaseMonkeyを作ってみました。
内容はGoogleの検索結果にリンクをつけないurlを登録できるというものです。 用途としてはtumblrのfollowする人を探す際にgoogleで「site:tumblr.com キーワード」をよく使うのですが、followしている人が増えてくると検索結果にはすでにfollowしてる人が表示されるのでそれらへのリンクを省くというのを意図してみました。
http://www.tumblr.com/followingのページでユーザースクリプトコマンド>Add Your Followingをすると、その人たちへのgoogle検索結果からのリンクは表示されなくなります。ゆくゆくは「http://b.hatena.ne.jp/entry/」とかの私にとってはスパムページもリンク削除できたりURLリストを簡単に編集できればと思っています。自分以外の人が使うことを考慮に入れたコードができれば、登録してみたいなぁ。
JAVASCRIPT:
-
// ==UserScript==
-
// @name NL4GR
-
// @namespace http://wwwaku.com/greasemonkey
-
// @description add url for having no link of google result
-
// @include http://www.google.*/*
-
// @include http://www.tumblr.com/following
-
// ==/UserScript==
-
var a = document.getElementsByTagName('h2');
-
var nl4gr = GM_getValue("NL4GR").split(" ");
-
for (var i = 0; i <a.length; i++){
-
var element = a[i];
-
var em = a[i].innerHTML.replace(/<.+?>/, "")
-
if (element.className == "r"){
-
var u = element.getElementsByTagName('a')[0].getAttribute("href");
-
for (var j = 0; j <nl4gr.length; j++){
-
if (u.indexOf(nl4gr[j])>0){
-
element.innerHTML = em;
-
}
-
}
-
}
-
}
-
-
function add_your_following(){
-
var all = document.getElementsByTagName("div");
-
var elements = "";
-
for(var i=0; i <all.length; i++){
-
var element = all[i];
-
if (element.className == "username"){
-
var h = element.innerHTML.match(/["][^"]*["]/).toString().slice(8,-2);
-
elements = elements + h + " ";
-
}
-
}
-
GM_setValue("NL4GR", elements);
-
}
-
GM_registerMenuCommand( "Add Your Following", add_your_following );






