2010-07-21 18 views
5

Quiero volver a clasificar según el tamaño el texto del captcha para ser más fácil de ver, con Greasemonkey.¿Cómo puedo cambiar el tamaño de la recaptcha en Greasemonkey?

¿Cómo puedo hacerlo?

Por ejemplo, he esta imagen:

<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> 

quiero cambiar la height="57" y la width="300" de la segunda línea (desde el estilo de la imagen) a 85 y 450 respectivamente.

Cambiarlo a la inspección funciona correctamente, pero ¿cómo puedo hacer para hacerlo siempre con Greasemonkey?

+0

no se puede usar document.getElementById ('reaptcha_image'). Style.height = "85px"; ?? – mplungjan

+0

no, no funciona =/ – Shady

+0

tenga en cuenta que si copió y pegó lo que mplungjan escribió, no funcionará, debe ser 'document.getElementById ('recaptcha_image'). Style.height =" 85px ";' El c era falta en la parte recapta del nombre. – qw3n

Respuesta

2

Estas entradas userContent.css podría funcionar:

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'); 

Si ReCaptcha está en un iframe, entonces @include URL del marco flotante, y no url de los padres, pero tenga en cuenta que esto probablemente va a cambiar el tamaño de reCAPTCHA de en cada sitio, por lo que es posible que desee comprobar que window.top.location para window.top es la ubicación deseada.

1

Dado que se trata de Greasemonkey, supongo que está utilizando una versión razonablemente actualizada de Firefox. En este caso, es posible que pueda utilizar querySelector:

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

Si eso no funciona, puede intentar establecer los atributos del lugar img:

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

Si que no funciona , puede intentar establecer tanto la caja y el 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: en el enlace que me diste, indica que debes establecer cada estilo individualmente, y que setAttribute no funcionará. ¿Quizás lo leyó mal? – Pauan

+0

Tienes razón, * lo * malinterpreté. Son * propiedades personalizadas * que deben establecerse mediante setAttribute. http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Pitfall_.2310:_style – PleaseStand

Cuestiones relacionadas