jueves, 18 de octubre de 2007

Mi primer script para greasemonkey

Hice un pimer script para greasemonkey, como les conte ayer. Es un poco sin sentido, pero para jugar.

Lo que hace es una especie de "I fell Lucky today" de google a mano. y te lo muestra dentro del HTML del propio google.

Que lo disfruten!

PD: Si no lo ven, puede que sea por problemas de resolucion. modifiquen las variables marginLeft y marginTop.

espero que lo disfruten y hagan cosas!

Para instalarlo. Instalen greasemonkey y agreguen el script como user script. Copien y peguen el texto del script en un archivo .js y listo!

Para probar: entren a google, con el script ya instalado y busquen "deptoinformatica"

Proximamente: playlist de www.goear.com....


// ==UserScript==
// @name googleFirst
// @namespace gutes
// @include http://www.google.com/*
// ==/UserScript==


function getTags(tag,property,value)
{
var sValue = (value == null)? "" : "'" + value + "'"
var sProperty = (property == null)? "" : "[@" + property + "=" + sValue + "]";
var pattern = "//" + tag + sProperty;

return document.evaluate(pattern, document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
}



//parametros de align

var marginTop = "200px";
var marginLeft = "600px";
var estilo = "float:left;z-index:9999;margin-left:" + marginLeft + ";margin-top:" + marginTop + ";";

//agarro los resultados
var links = getTags("div","class","g");

linkGet = links.iterateNext();
var iframe = document.createElement("iframe");
iframe.setAttribute("width","600px");
iframe.setAttribute("height","300px");
iframe.setAttribute("border", "2px");
iframe.setAttribute("id", "gutesIframe");
iframe.setAttribute("style", estilo);
iframe.src = 'about:blank';

document.body.appendChild(iframe);
document.getElementById("gbar").appendChild(iframe);

var lurl;
var re = new RegExp('class="r"><a href="(.*)" class="l"');

var m = re.exec(linkGet.innerHTML);
if (m == null) {
lurl="";
} else {
lurl = m[1];
}


iframe.addEventListener("load", function() {
var doc = iframe.contentDocument;
doc.body.style.background = 'lightblue';
doc.body.innerHTML = "<h1>Gutes' Lucky link</h1>" + linkGet.innerHTML;
GM_xmlhttpRequest({
method:"GET",
url: lurl,
headers:{
"User-Agent":"monkeyagent",
"Accept":"text/monkey,text/xml",
},
onload:function(details) {
doc.body.innerHTML = doc.body.innerHTML + "<div border=1>" + details.responseText +"</div>";
}
});
}, false);

No hay comentarios.: