2010-07-21 3 views
5

Voglio ridimensionare il testo dal captcha per essere più facile da vedere, con Greasemonkey.Come posso ridimensionare il recaptcha in Greasemonkey?

Come posso farlo?

Per esempio, ho questo captcha:

<div id="recaptcha_image" style="width: 300px; height: 57px; "> 
    <img style="display:block;" height="57" width="300" src="http://www.google.com/recaptcha/api/image?c=03AHJ_VuuqeICMpU36GlHCSchBzERwiDzTH4A1RHobtEpbbSK5lWC47EVkgeuF_ause8bnYTHGhjRr_GFiVMh9e4sZFXIBlv4-vcY7WXNjtBHhVmIl2Z5tqK_CY5hRZjtr-MWDUrBOr7mQE0ZqfU8XeeUeXLM5cxcwEQ"> 
</div> 

voglio cambiare il height="57" e il width="300" dalla seconda linea (dal stile di immagine) a 85 e 450, rispettivamente.

Il cambio in ispezione funziona correttamente, ma come posso fare per farlo sempre con Greasemonkey?

+0

non è possibile utilizzare document.getElementById ('reaptcha_image'). Style.height = "85px"; ?? – mplungjan

+0

no, non funziona =/ – Shady

+0

nota se hai copiato e incollato quello che mplungjan ha scritto non funzionerà dovrebbe essere 'document.getElementById ('recaptcha_image'). Style.height =" 85px ";' Il c era mancante nella parte recapta del nome. – qw3n

risposta

2

Questi userContent.css voci potrebbe funzionare:

div#recaptcha_image, 
div#recaptcha_image > img { 
    width: 450px !important; 
    height: 85px !important; 
} 
0

Do:

var img = document.evaluate("//div[@id='recaptcha_image']/img", document, null, 9, null).singleNodeValue; 
img.setAttribute('width', '85'); 
img.setAttribute('height', '450'); 

Se il recaptcha è in un iframe, quindi @include URL del iframe, e non l'URL del genitore, ma si noti che questo probabilmente modificare la dimensione del recaptcha di su ogni sito, quindi potresti voler controllare che window.top.location per window.top sia la posizione desiderata.

1

Poiché questo è Greasemonkey, assumerò che tu stia utilizzando una versione di Firefox ragionevolmente aggiornata. Nel qual caso, si potrebbe essere in grado di utilizzare querySelector:

var query = document.querySelector("#recaptcha_image > img"); 
if (query) { 
    query.style.width = "450px !important"; 
    query.style.height = "85px !important"; 
} 

Se questo non funziona, si può provare a impostare gli attributi del img invece:

var query = document.querySelector("#recaptcha_image > img"); 
if (query) { 
    query.setAttribute("width", "450"); 
    query.setAttribute("height", "85"); 
} 

Se che non funziona , si può provare a impostare sia la scatola che l'IMG:

var element = document.getElementById("recaptcha_image"); 
if (element) { 
    element.style.width = "450px !important"; 
    element.style.height = "85px !important"; 
} 

var query = element.querySelector("img"); 
if (query) { 
    query.setAttribute("width", "450"); 
    query.setAttribute("height", "85"); 
} 
+0

@idealmachine: nel link che mi hai fornito, afferma che è necessario impostare ogni stile singolarmente e che setAttribute non funzionerà. Forse lo hai letto male? – Pauan

+0

Hai ragione, io * l'ho * erroneamente letto. È * proprietà personalizzate * che devono essere impostate utilizzando setAttribute. http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Pitfall_.2310:_style – PleaseStand