рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ - рджреЗрдЦреЗрдВ рдЫрд╡рд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ

рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдкреНрд░рд┐рдп рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдиреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ тЖТ рдЫрд╡рд┐ рд╕реВрдЪрдирд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреГрд╖реНрдарднреВрдорд┐ рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡реЗрдмрд╕рд╛рдЗрдЯ webo.in рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдЖрдЗрдХрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдкрд╛рдпрдирд┐рдпрд░реНрд╕ рдХреЗ рдорд╣рд▓ рд╕реЗ рдореЗрдиреВ рдЖрдЗрдХрди, рд▓реЛрдЧреЛ, рдмреИрдирд░ рдФрд░ рдЗрд╡рд╛рд╢реНрдХрд╛ рдХрд╣рд╛рдВ рдЧрдП? рдСрдлрд╕рд╛рдЗрдЯ рдкрд░, рдЗрд╕ рдмрдЧ рдХрд╛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ рдФрд░ рдордВрдЪ рдкрд░ рдХрдИ рд╡рд┐рд╖рдпреЛрдВ , 2006 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╣реИред

рдЪрд▓реЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди / {c45c406e-ab73-11d8-be73-000a95be3b12} ред рдпрд╣ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлреЛрд▓реНрдбрд░ рд╣реИред рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ рд╡рд╣ рдХреНрд░реЛрдо / рд╡реЗрдмрдбреЗрд╡рд▓рдкрд░реНрд╕.рдЬрд░ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░реЗрдВ ( рдХреНрд░реЛрдо рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА , рд╕реНрдерд╛рди рдФрд░ рддреНрд╡рдЪрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП)ред рдЕрдм рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдирдкреИрдХреНрдб рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд░реВрдЯ рдлреЛрд▓реНрдбрд░ рдореЗрдВ chrome.manifest рдХреЛ рд╕рд╣реА рдХрд░реЗрдВрдЧреЗ, рд╕рднреА рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рдЬрд╛рд░ рдореЗрдВ рдмрджрд▓рдХрд░ : chrome / webdeveloper.jar! рдмрд╕ рдХреНрд░реЛрдо рдкрд░ ред рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП, .jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдПрдВ рдпрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдм рдЖрдЗрдП рдЙрд╕ .jar рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рд╕рд╛рдордЧреНрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЗрд╕рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╡реЗрдмрджреЗрд╡рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ред рдЖрдк webdeveloper.xul рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдУрд╡рд░рд▓реЗ рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рдХрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛, рдЗрд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдореЗрдиреВ рдЖрдЗрдЯрдо рдвреВрдВрдвреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдСрдирдХреИрдореИрдВрдб рдХреНрдпрд╛ рд╣реИред рдФрд░ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, images.js рдлрд╝рд╛рдЗрд▓ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ) рдФрд░ рдЗрд╕рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред рдпрд╣ рджреЛрдиреЛрдВ рдФрд░ рдПрдХ рдЕрдиреНрдп рддрд░реАрдХрд╛ рд╣рдореЗрдВ рддреЗрдЬреА рд╕реЗ webdeveloper_viewImageInformation () рдлрд╝рдВрдХреНрд╢рди рддрдХ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рддреЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ:

imageList = webdeveloper_getImagesForDocument(pageDocument, true, true); 

рд╣рдо рдлрд╛рдЗрд▓ рдлрдВрдХреНрд╢рди / рд╡реЗрдмрджреЗрд╡рд▓рд┐рдпрд░ / рдХреЙрдорди / рдбреЛрдо.рдЬреЗрдПрд╕ рдореЗрдВ рдЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

 else if(includeBackgroundImages) { computedStyle = element.ownerDocument.defaultView.getComputedStyle(element, null); // If the computed style is set if(computedStyle) { backgroundImage = computedStyle.getPropertyCSSValue("background-image"); // If this element has a background image and it is a URI if(backgroundImage && backgroundImage.primitiveType == cssURI) { image = new Image(); image.src = backgroundImage.getStringValue(); // If this is not a chrome image if(image.src.indexOf("chrome://") != 0) { images.push(image); } } } } 

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрдХрдбрд╝ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЗрд╕ рдЬрдЧрд╣ рдХреА рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рдЕрд▓рд░реНрдЯ рдЬреЛрдбрд╝реЗ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдкреНрд░рд╛рдЗрдореЗрдЯрд╛рдЗрдк рдЯрд╛рдЗрдк рдХреА рдЬрд╛ рд░рд╣реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣рдореЗрд╢рд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ ред рдЖрдЗрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦреЗрдВ : CSSValue рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ cssValueType рдЧреБрдг рд╣реИ, рдФрд░, рдЪреАрдЬреЛрдВ рдХреЗ рддрд░реНрдХ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐ рдХреЛ CSS_PRIMITIVE_VALUE (1) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ CSS_VALUE_LIST (2) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рднрдЧрд╡рд╛рди рдЙрд╕реЗ рдЖрд╢реАрд░реНрд╡рд╛рдж рджреЗрддреЗ рд╣реИрдВ, рдЪрд▓реЛ CSSVueueList рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рджреЗрдЦреЗрдВ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдЖрдЗрдЯрдо () рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ CSSValue рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:

 else if(includeBackgroundImages) { computedStyle = element.ownerDocument.defaultView.getComputedStyle(element, null); // If the computed style is set if(computedStyle) { backgroundImage = computedStyle.getPropertyCSSValue("background-image"); // If this element has a background image if(backgroundImage) { // If property is CSSValueList (WTF?) if (backgroundImage.cssValueType == backgroundImage.CSS_VALUE_LIST) { backgroundImage = backgroundImage.item(0); } // If background image is a URI if (backgroundImage.primitiveType == cssURI) { image = new Image(); image.src = backgroundImage.getStringValue(); } // If this is an image and not a chrome image if(image && image.src && image.src.indexOf("chrome://") != 0) { images.push(image); } } } } 

рдЕрдм, рдЬрдм CSSValueList рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ , рд╣рдо рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЙрд╕рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ - рд╡реЙрдЗрд▓рд╛! рдбреЗрдЯрд╛ рд╕рд╣рд┐рдд 14 рдЫрд╡рд┐рдпрд╛рдВ : рдпреВрдЖрд░рдЖрдИ ред рдЕрдм рдЖрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкреИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .xpi рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдкрдбреЗрдЯ: рдПрдлрдПрдл 3.6-4.0b12, рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ 1.1.9, рд╡рд┐рдВрдбреЛрдЬ 7ред

Source: https://habr.com/ru/post/In114960/


All Articles