Как я могу изменить размер рекапчи в Greasemonkey? - PullRequest
5 голосов
/ 21 июля 2010

Я хочу изменить размер текста с картинки с помощью Greasemonkey.

Как мне это сделать?

Например, у меня есть эта капча:

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

Я хочу изменить height="57" и width="300" со второй строки (из стиля изображения) на 85 и 450 соответственно.

Изменение его в проверку работает правильно,но как я могу сделать это всегда с Greasemonkey?

Ответы [ 3 ]

2 голосов
/ 15 января 2011

Эти userContent.css записи могут работать:

div#recaptcha_image,
div#recaptcha_image > img {
  width: 450px !important;
  height: 85px !important;
}
1 голос
/ 30 сентября 2010

Поскольку это Greasemonkey, я собираюсь предположить, что вы используете достаточно актуальную версию Firefox.В этом случае вы можете использовать querySelector:

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

Если это не сработает, попробуйте вместо этого установить атрибуты img:

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

Если что не работает, вы можете попробовать установить оба поля и 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 голосов
/ 23 июля 2010

Do:

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

Если recaptcha находится в iframe, тогда @include URL iframe, а не url родителя, но учтите, что это, вероятно, изменит размер recaptcha на каждом сайте, поэтому вы можете проверить, что window.top.location для window.top - желаемое местоположение.

...