рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп рд╣рд░рдЬрд┐рддрд╛рд▓реАред
рдЖрдЬ рд╣рдо рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рдкрд╣рд▓реЗ рдмрддрд╛рдИ рдЧрдИ рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рддреН, Google Chrome рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ
рдкреИрдХ рдХрд░рдирд╛ ред
рдиреАрдЪреЗ рдореИрдВ тАЬрдХреНрдпреЛрдВ?тАЭ рдФрд░ тАЬрдХреИрд╕реЗ?тАЭ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред
рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, Google рдХреНрд░реЛрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдмрд┐рдирд╛ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдШрдЯрдХреЛрдВ
рдХреЛ рд╕реНрдерд╛рдкрд┐рдд
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП )ред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреЗ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ
BUT рд╣реИ : Google Chrome рдбреЗрд╡рд▓рдкрд░ рд╣рдорд╛рд░реА рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рд╕реАрдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрд╕реЗ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЧреИрд░-рддреБрдЪреНрдЫ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рд╕реАрдорд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ?
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛рдПрдБ:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ window.frames рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ [i]
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рд▓рд┐рдорд┐рдЯреНрд╕ рдмрдврд╝рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
- рдЖрджрд┐
рдЙрдкрд░реЛрдХреНрдд рддреАрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреИрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ?
рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рдПрдХ
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ, рди рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯред рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИрдВ;
- рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ ;
- рд░реИрдкрд░ рдПрдХ рдмрд╛рд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ;
рдореИрдВ рдЦреБрдж рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реВрдВред
рдкреИрдХрд┐рдВрдЧ
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдирд┐рдореНрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдШреЛрд╖рдгрд╛рдкрддреНрд░ред рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓
- рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкреЗрдЬ background.html
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓
manifest.json
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ: рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рд░, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡рд┐рдзрд┐, рдЖрджрд┐ред
рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдиреНрдпрд╛рд╕ рдПрдХ рдЬрд╕рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред
рдЖрдк рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧреЛрджреА рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛:
{ "background_page" : "background.html", "content_scripts" : [ { "js":[ "my.user.js" ], "matches":[ "http://*/*" ], "run_at":"document_end" } ], "description" : "", "name" : "My Userscript", "permissions" : [ "http://*/*", "unlimitedStorage"], "version" : "1.3.0" }
рдкреИрд░рд╛рдореАрдЯрд░ | рдирд┐рдпреБрдХреНрддрд┐ | рдЯрд┐рдкреНрдкрдгреА |
---|
BACKGROUND_PAGE | рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдкреГрд╖реНрда рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ | рдирд┐рдпреБрдХреНрддрд┐ рдиреАрдЪреЗ рджреЗрдЦреЗрдВ |
content_scripts | рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдиреЗрдХреНрд╢рди рдЕрдиреБрднрд╛рдЧ | рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕реВрдЪрдирд╛ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ |
js | рдПрдХ рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ | рдирд╛рдо рдпрд╣рд╛рдБ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реА рдПрдХрдорд╛рддреНрд░ рд▓рд┐рдкрд┐ |
рдорд╛рдЪрд┐рд╕ | рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП url рдорд╛рд╕реНрдХ рдпреБрдХреНрдд рдПрдХ рд╕рд░рдгреА | рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡ рдХреЛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреГрд╖реНрда рд╣реИрдВ рдЗрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреМрдЯрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЪрд▓рддреА рд╣реИ, http рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред |
run_at | рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдХреНрд░рдо | document_end рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓реЗрдЧреА DOM рдЯреНрд░реА рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж |
рд╡рд┐рд╡рд░рдг | рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рд╡рд░рдг | рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд┐: рд╢реБрд▓реНрдХ рдкрд╛рда |
рдирд╛рдо | рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдирд╛рдо | рдореБрдлреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╛рдо |
рдЕрдиреБрдорддрд┐рдпрд╛рдБ | рд╣рдорд╛рд░реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ | рдЖрд╡рд╢реНрдпрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдиреБрдорддрд┐рдпрд╛рдБред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ - рдкрддреНрд░рд╛рдЪрд╛рд░ рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдореБрдЦреМрдЯрд╛ http: // * / * ред рдпрд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдкреГрд╖реНрда рдХреЛ рдХрд┐рд╕реА рднреА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд╕реАрдорд┐рдд рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред |
рд╕рдВрд╕реНрдХрд░рдг | рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рдВрд╕реНрдХрд░рдг | Xxxx рд╕рдВрд╕реНрдХрд░рдг |
background.html
рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкреЗрдЬ рдПрдХ рдирд┐рдпрдорд┐рдд HTML рдкреЗрдЬ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ "рдЕрджреГрд╢реНрдп рдЯреИрдм" рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдХрд╛рд▓ рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдкреГрд╖реНрдарднреВрдорд┐ рдкреГрд╖реНрда рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдкреГрд╖реНрда рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕реАрдорд╛рдПрдВ рдмрд╛рдИрдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ ред рдкреИрдХреЗрдЬреНрдб рдпреВрдЬрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкреЗрдЬ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ
chrome.extension рдПрдкреАрдЖрдИ (
рд╡рд┐рд╡рд░рдг ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде "рд╕рдВрд╡рд╛рдж" рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде, рдЕрднреНрдпрд╛рд╕ рдХреЗ
рд╕рд╛рде рдмрд╛рд╣рд░ рдШреВрдордиреЗ рдХрд╛ рд╕рдордп!
рдЖрдЗрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ
рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдХреЛрдб background.html:
<!DOCTYPE html> <html> <head> </head> <body> <script> /** * . * XMLHttpRequest CORP (Cross Origin Request Policy), * .. . * GET */ function get(url, callback) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function (data) { if (xhr.readyState == 4) { if (xhr.status == 200) { callback(data.srcElement.responseText); } else { callback(null); } } } // Note that any URL fetched here must be matched by a permission in // the manifest.json file! xhr.open('GET', url, true); xhr.send(); }; /** * chrome.extension api. * * @param request Object api-. * @param sender Object , . * @param callback Function , api-. * / function onRequest(request, sender, callback) { // xget. // RPC-c if (request.action == 'xget') { get(request.url, callback); } }; // . chrome.extension.onRequest.addListener(onRequest); // : // chrome.extension.sendRequest({'action' : 'xget', 'url':url}, callback); </scrip> <body></html>
рдЕрдВрдЧреНрд░реЗрдЬреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб
pastebin.com рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ:
function get(url, callback) {& chrome.extension.sendRequest({ 'action':'xget', 'url':url}, callback); }
рдпрд╣ рддрд░реАрдХрд╛ Google Chrome рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЪрд░реНрдЪрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАредрд╣рдо рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ
рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
- рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ (рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП)
- рдЗрд╕рдореЗрдВ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯред Js, background.html рдФрд░ рдПрдХ рдпреВрдЬрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реЗрдВ
- Chrome рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреИрдХ рдХрд░реЗрдВ (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреИрдХ рдХрд░реЗрдВред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)

рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдо
рдЕрдирдкреИрдХреНрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЯрд┐рдк рдХреЗ рд▓рд┐рдП
theOnlyBoy рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)ред рдкреИрдХрд┐рдВрдЧ (3 рдмрд┐рдВрджреБ) рдХреЗ рдмрдЬрд╛рдп, "рдЕрдирдкреИрдХреНрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдирддреАрдЬрддрди, рд╣рдорд╛рд░рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рд╛рдорд╛рдиреНрдп рдкреИрдХ рдХрд┐рдП рдЧрдП рдХреА рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдкреНрд▓рд╕ рдореЗрдВ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реАрд▓реЛрдб рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЖрдЬ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реА, рд╣рдорд╛рд░реЗ рд╕рд╛рде рд░рд╣реЛ!
рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрд▓реЛрдЪрдирд╛ рдФрд░ рдЪрд░реНрдЪрд╛ред
рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрдирд╛
- Userscriptsред рдЧрд╣рд░рд╛ рдЬрд╛рдУ
- ┬╗рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ред рд╣рдо рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
- Usersctriptsред рдХреНрд░реЙрд╕ рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз