2010-07-21 5 views
5

Je veux redimensionner le texte du captcha pour qu'il soit plus facile à voir, avec Greasemonkey.Comment redimensionner la recaptcha dans Greasemonkey?

Comment puis-je le faire?

Par exemple, j'ai ce 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> 

Je veux changer le height="57" et la width="300" de la deuxième ligne (du style d'image) à 85 et 450 respectivement.

Le changement dans l'inspection fonctionne correctement, mais comment puis-je le faire toujours avec Greasemonkey?

+0

Vous ne pouvez pas utiliser document.getElementById ('reaptcha_image'). Style.height = "85px"; ?? – mplungjan

+0

non, ne fonctionne pas =/ – Shady

+0

notez que si vous avez copié et collé ce que mplungjan a écrit cela ne fonctionnera pas, il devrait être 'document.getElementById ('recaptcha_image'). Style.height =" 85px ";' Le c était manquant dans la partie recapta du nom. – qw3n

Répondre

2

Ces userContent.css entrées pourrait fonctionner:

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 le recaptcha est dans une iframe, puis @include url, et non url du parent de l'iframe, mais notez que cela va probablement changer la taille de recaptcha sur tous les sites, donc vous pouvez vouloir vérifier que window.top.location pour window.top est l'emplacement désiré.

1

Puisqu'il s'agit de Greasemonkey, je vais supposer que vous utilisez une version relativement à jour de Firefox. Dans ce cas, vous pourriez être en mesure d'utiliser querySelector:

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

Si cela ne fonctionne pas, vous pouvez essayer de configurer les attributs du img place:

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

Si que ne fonctionne pas , vous pouvez essayer de régler à la fois la boîte et le 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: Dans le lien que vous m'avez donné, il est indiqué que vous devez définir chaque style individuellement, et que setAttribute ne fonctionnera pas. Peut-être que vous l'avez mal lu? – Pauan

+0

Vous avez raison, j'ai * l'ai * mal lu. C'est * propriétés personnalisées * qui doivent être définies en utilisant setAttribute. http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Pitfall_.2310:_style – PleaseStand