рдШрдЯрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ JS рдЬреЛрдбрд╝рдирд╛
@wvaymen рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУрдкреНрд░рд╢реНрди
рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЗрдПрд╕ рдХреЛ GrapesJs рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди editor.getComponents().add() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ grapesJS рдореЗрдВ <рд╕реНрдХреНрд░рд┐рдкреНрдЯ> рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВред document.createElement('рд╕реНрдХреНрд░рд┐рдкреНрдЯ')
рдЬрд╡рд╛рдм (2)
@wvaymen рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛
const editor = grapesjs.init({
...
allowScripts: 1,
});
editor.addComponents('<script>alert(1)</script>');
рдпрд╣ рдереНрд░реЗрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ. рдХреГрдкрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ.
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдЕрдВрдХ #1025
рдХрд╕реНрдЯрдо рдмреНрд▓реЙрдХ рдореЗрдВ рдирдП рд▓рдХреНрд╖рдг рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ
grapesjs.plugins.add('рдХрд╕реНрдЯрдордмреНрд▓реЙрдХреНрд╕', рдлрд╝рдВрдХреНрд╢рди (рд╕рдВрдкрд╛рджрдХ, рд╡рд┐рдХрд▓реНрдк) { рд╡рд┐рдХрд▓реНрдк = рд╡рд┐рдХрд▓реНрдк || {}; рд▓рдХреНрд╖рдг-рдкреНрд░рддрд┐рдШрдЯрдХ(); addHTMLCodeComponent(); addHTMLCod...
рдЕрдВрдХ #1584
Editor.getComponents() рд╕реЗ рдмреНрд▓реЙрдХ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ
рдиреАрдЪреЗ рд╡рд╣ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред this.editor.BlockManager.add('dob-mmyy-pii', { рдЖрдИрдбреА: 'рдбреЛрдм-рдПрдордПрдорд╡рд╛рдИ', рд▓реЗрдмрд▓: DOB (MM, YYYY) (PII), рд╢реНрд░реЗрдг...
рдЕрдВрдХ #743
Editor.getComponents() load multiple times when refreshed.
рдирдорд╕реНрдХрд╛рд░ editor.getComponents().add('<div class="grid-stack" style="height:800px;"></div>'); рддрд╛рдЬрд╝рд╛ рд╣реЛрдиреЗ рдкрд░ рдХрдИ рдмрд╛рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреИрд╕реЗ рд░реЛрдХреЗрдВред...
рдЕрдВрдХ #1771
рд▓рдХреНрд╖рдг рдкреНрд░рдХрд╛рд░: рдмрдЯрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ
рд╣рд╛рдп, @artf рдЬрдм рдореИрдВ рдмрдЯрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд╛рдпрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рдореЗрд░реА...
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред
рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред
рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ
рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред