2010-07-21 16 views
5

मैं Greasemonkey के साथ, कैप्चा से पाठ को आकार देने के लिए आसान होना चाहता हूं।मैं 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> 

मैं क्रमशः 85 और 450 के लिए height="57" और width="300" दूसरी पंक्ति (छवि शैली से) से बदलना चाहते हैं।

इसे निरीक्षण में बदलना सही ढंग से काम करता है, लेकिन मैं हमेशा Greasemonkey के साथ ऐसा करने के लिए कैसे कर सकता हूं?

+0

आप document.getElementById ('reaptcha_image') का उपयोग नहीं कर सकते। Style.height = "85px"; ?? – mplungjan

+0

नहीं, काम नहीं करें =/ – Shady

+0

नोट करें कि आपने mplungjan क्या लिखा है और चिपकाया है, यह काम नहीं करेगा, यह 'document.getElementById (' recaptcha_image ') होना चाहिए। Style.height = "85px"; ' सी था नाम के रिकैप्टा भाग में गायब है। – qw3n

उत्तर

2

ये userContent.css प्रविष्टियों काम हो सकता है:, आप दोनों बॉक्स और img स्थापित करने की कोशिश कर सकते

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

है:

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 आइफ्रेम का यूआरएल, और नहीं माता पिता के यूआरएल, लेकिन ध्यान दें कि यह शायद हर साइट पर recaptcha के आकार बदल देंगे, तो आप के लिए window.top.location वांछित स्थान की जांच कर सकते हैं।

1

चूंकि यह Greasemonkey है, इसलिए मुझे लगता है कि आप फ़ायरफ़ॉक्स के एक उचित रूप से अद्यतित संस्करण का उपयोग कर रहे हैं। जो मामले में, आप उपयोग करने में सक्षम हो सकता है 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"); 
} 

तो कि काम नहीं करता है

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: आपके द्वारा दिए गए लिंक में, यह बताता है कि आपको प्रत्येक शैली को व्यक्तिगत रूप से सेट करने की आवश्यकता है, और वह सेट एट्रिब्यूट काम नहीं करेगा। शायद आप इसे गलत समझते हैं? – Pauan

+0

आप सही हैं, मैंने * किया * इसे गलत तरीके से किया। यह * कस्टम गुण * है जिसे setAttribute का उपयोग करके सेट करने की आवश्यकता है। http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Pitfall_.2310:_style – PleaseStand

संबंधित मुद्दे