Greasemonkey: Firefox < FF57 (рдЬреИрд╕реЗ FF56 рдФрд░ 52ESR) рдХреЛ Greasemonkey 4 рдореЗрдВ рд╕реНрд╡рддрдГ "рдЕрдкрдЧреНрд░реЗрдб" рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рджрд┐рд╕ре░ 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: greasemonkey/greasemonkey

рдЬреАрдПрдо 4.1 рдореЗрдВ strict_min_version 52.0 рд╣реИред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреЛ рд▓реАрдЧреЗрд╕реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдЬреИрд╕реЗ FF56 рдФрд░ 52ESR) рдХреЛ 4.1 рдореЗрдВ "рдЕрдкрдЧреНрд░реЗрдб" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЬреЛ FF 52ESR рдкрд░ рд╣реИрдВ, рдпрд╛ FF55/56 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рд▓реАрдЧреЗрд╕реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВред

Greasemonkey рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг 4.x рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ, рдФрд░ рд╣рдореЗрд╢рд╛ рд░рд╣реЗрдЧрд╛ред Firefox <FF57 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ Greasemonkey 4.x рдкрд░ рд╕реНрд╡рддрдГ "рдЕрдкрдЧреНрд░реЗрдб" рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЗрдирд┐рдлреЗрд╕реНрдЯ.рдЬреЗрд╕рди рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

"strict_min_version": "57.0"

рдЬрдмрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреАрдПрдо рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рдЕрдкрдбреЗрдЯ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдпрд╛рдиреА рдпрд╣ strict_min_version рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдЬреАрдПрдо 4 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдЕрдкрдЧреНрд░реЗрдб" рдирд╣реАрдВ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдпреВрдЬрд░реНрд╕ рдЗрд╕реЗ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдорд╛рдирддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ GM4 рдореЗрдВ рдСрдЯреЛ-рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм GM4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓реАрдЧреЗрд╕реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ Greasemonkey рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдЖрдк рдкрд░ рд╣реИ рдФрд░ рдлрд┐рд░ рдСрдЯреЛ-рдЕрдкрдбреЗрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВред

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯрд┐рдВрдЧ рдЙрд╕ рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдХрд╛ рдПрдХ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 3.x рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╡реЗрдм рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИред рдЗрд╕реЗ рдХрдо рдХрд┐рдП рдмрд┐рдирд╛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдбрдСрди рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдЧрд╛ред

4.1 рдХреЛ рдиреНрдпреВрдирддрдо рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг, _рдУрдкреНрд╕?_ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ 4.x рдкрд░ 'рдЬрд╛рдирдмреВрдЭрдХрд░ рдордЬрдмреВрд░' рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╢рддреНрд░реБрддрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред

@Sxderp рдХреЛрдИ рд╢рддреНрд░реБрддрд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдЬреЛ рд▓рд┐рдЦрд╛ рд╣реИ рдЙрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдиреЗ рдкрд░ рднреА, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╢рддреНрд░реБрддрд╛рдкреВрд░реНрдг рдорд╛рди рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реБрдП (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ) рдХрд┐ рдЖрдкрдиреЗ рдЬреЛ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рд╡рд╣ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдерд╛ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ "рдордЬрдмреВрд░" рдХрд╣рд╛ рдерд╛ (рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛), рдореИрдВрдиреЗ "рдЬрд╛рдирдмреВрдЭрдХрд░ рдмрд▓" рдирд╣реАрдВ рдХрд╣рд╛ (рдЬрд┐рд╕рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рдХрд┐ рдореИрдВ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдкреАрдЫреЗ рдХреБрдЫ рдЗрд░рд╛рджреЗ рдмрддрд╛ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдореИрдВ рдерд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ)ред [рдЖрдкрдиреЗ рдореБрдЭреЗ рджреВрд╕рд░рд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВрдиреЗ "рдЬрд╛рдирдмреВрдЭрдХрд░ рдмрд▓рдкреВрд░реНрд╡рдХ" рдХрд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдЬрдм рдореИрдВрдиреЗ рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд▓реА рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ 100% рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдИрдореЗрд▓ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВрдиреЗ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдЦреЗрдж рд╣реИред рдпрд╣ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛ред]

рдиреЛрдЯ: рдЬрдмрдХрд┐ рдореЗрд░реЗ рдорди рдореЗрдВ рдХреЗрд╡рд▓ WebExtensions рдХреЗ рдХрдЯ-рдУрд╡рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ Mozilla рдХреЗ рдкреНрд░рддрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рднрд╛рд╡рдирд╛рдПрдБ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ GM рд╕реЗ рдЬреБрдбрд╝реЗ рд▓реЛрдЧ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ Mozilla рдиреЗ рдЙрдиреНрд╣реЗрдВ рд░рдЦрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рджреЛрд╖ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреА рдЧрд▓рддреА рд╣реИрдВред

рдЖрдИрдк, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдлрдПрдл рдХреЛ v56 рдкрд░ "рдЬрдореЗ рд╣реБрдП" рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЬреАрдПрдо 4.1 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ "Error: Permission denied to access property "nodeType"" рдЬреИрд╕реА рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред

рдореБрдЭреЗ рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ рдЬреИрд╕реЗ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ 'рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ' рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪрд▓рд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рдпрджрд┐ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ / рдХрд╛рд░реНрдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдВрдбреЛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдВрдбреЛ рдкрд░ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореЛрдЬрд╝рд┐рд▓рд╛ рдиреЗ рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкреЗрдЬ рд╕реНрдХреЛрдк рдореЗрдВ рд░рд┐рд╕рд╛рд╡ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts#Sharing_content_script_objects_with_page_scripts

@Sxderp рд╣рд╛рдБ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдбреЗрдЯ рдиреЛрдЯреНрд╕ рдореЗрдВ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ unsafeWindow рдХрд┐рд╕реА рддрд░рд╣ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЛ exportFunction() or cloneInto() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕реА рд▓реЗрдЦ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдиреЗ рдХрд┐рдпрд╛ рдерд╛ (рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ ))ред рдХреЛрдИ рднреА рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рдд рд╕реЗ рдЗрддрд░ рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ FF<=56 рдЗрд╕ рд╕рдВрдкреВрд░реНрдг рдордВрджрддрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рдХреЛрдИ рднреА рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдХрд╛рдлреА рд╣рдж рддрдХ рд╡реИрд╕рд╛ рд╣реАред рдЕрдЧрд░ рдХреЛрдИ 'рдХрдВрдЯреЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ' рдХрд╣рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ 'рдпреВрдЬрд╝рд░рд╕реНрдХреНрд░рд┐рдкреНрдЯ' рд╕реЗ рдмрджрд▓ рджреЗрдВред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк window.eval() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рддрд░реНрдХ рдирд┐рд░реНрдпрд╛рдд рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕реАрдзреЗ рдкреГрд╖реНрда рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рджред eval() рдХреЗ рд▓рд┐рдП - eval рдмреБрд░рд╛ рд╣реИ рдФрд░ eval рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдирд┐рдпрдо "eval рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ" рд╣реИред

@Spown IMO, exportFunction() рдФрд░ cloneInto() рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ Firefox рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ WebExtensions рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рдкреЗрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрдиреЛрдВ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, executeInPage() , рдЬрд┐рд╕реЗ рдЖрдк рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдЗрд╕ рдЙрддреНрддрд░ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреГрд╖реНрда рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреНрд▓реЛрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЬреЛ рд╡рд┐рдВрдбреЛ рд╕рдВрджрд░реНрдн (рдЬреИрд╕реЗ window[variableName] ) рдореЗрдВ рдПрдХ рдЪрд░ рдХреЛ рдкрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ cloneInto() рдХрд░рддрд╛ рд╣реИред

рдпрд╣ cloneInto() рдЬрд┐рддрдирд╛ рд▓рдЪреАрд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ Object , Array , function , RegExp , Date рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред , рдФрд░/рдпрд╛ рдЕрдиреНрдп рдЖрджрд┐рдо ( Boolean , null , рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд, Number , рдФрд░ String , рд▓реЗрдХрд┐рди Symbol рдирд╣реАрдВ)ред

@Sxderp рдпрд╣ рд╕рдм рд╕рдЪ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдлрдПрдл> 56 рдХреЛ рдЕрдкрдбреЗрдЯ рди рдХрд░рдХреЗ рдЗрд╕ рдкреВрд░реА рдЪреАрдЬ рдореЗрдВ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреА рддрд░рд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рд╕рддрд╛ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реВ, рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЗрдЬ рдХреЗ jQuery рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ) рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдЕрднреА рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдПрдирд╡реАрдПрдо

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ Greasemonkey рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдЖрдк рдкрд░ рд╣реИ рдФрд░ рдлрд┐рд░ рдСрдЯреЛ-рдЕрдкрдбреЗрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВред

рдЕрдЧрд░ рдореИрдВ Greasemonkey 4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ Greasemonkey 3 рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЪрд╛рд╣реВрдВ рддреЛ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦреВрдВ? рдпрд╛ рдХреНрдпрд╛ Greasemonkey 4 рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИ?

@garyking рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдиреА рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Powersource picture Powersource  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

noscript picture noscript  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Sasstraliss picture Sasstraliss  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

eradrix picture eradrix  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

an-electric-sheep picture an-electric-sheep  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ