TypeError: рдХреБрдВрдЬреАрдкрдЯрд▓ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд ('toLowerCase' рдкрдврд╝рдирд╛) рдХреЗ рдЧреБрдг рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛
рд╣рд╛рдп @artf, рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ GrapesJS рдореЗрдВ рдирд╣реАрдВ рд╣реИ . event.key.toLowerCase() рдХреЙрд▓ рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рд╕реЗ рдЖ рд░рд╣реА рд╣реИ - рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ window.addEventListener("keydown", ...) рд╣реИрдВрдбрд▓рд░ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рд╣реИ, рдЬреЛ GrapesJS рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд╡реЗрдмрдкреИрдХ рдПрдХ рд╣реА рдЦ...
рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУрдкреНрд░рд╢реНрди
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [x] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдХреНрд░реЛрдо, рд╕рдлрд╛рд░реА, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдПрдЬ) рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдореЛ рд▓рд┐рдВрдХ https://jsfiddle.net/saeedhbi/tdsLa6qe/ рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдмрдЧ рдХреЛ рдХреИрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ? рдПрдХ рдмреБрдирд┐рдпрд╛рджреА GrapeJS рд╕рдВрдкрд╛рджрдХ рдмрдирд╛рдПрдВ (рд╕рдВрд╕реНрдХрд░рдг 0.22.11 рдпрд╛ 0.22.14) рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдШрдЯрдХ рдЬреЛрдбрд╝реЗрдВ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ рдПрдХ рдХреАрдмреЛрд░реНрдб рдЗрд╡реЗрдВрдЯ рднреЗрдЬреЗрдВ рдЬрд╣рд╛рдВ event.key IME рд░рдЪрдирд╛ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП undefined рд╣реИ (рдЬреНрдпрд╛рджрд╛рддрд░ рдЪреАрдиреА/рдЬрд╛рдкрд╛рдиреА/рдХреЛрд░рд┐рдпрд╛рдИ рдХреАрдмреЛрд░реНрдб рдореЗрдВ) рдХрдВрд╕реЛрд▓ рдореЗрдВ TypeError: Cannot read properties of undef...
рдЬрд╡рд╛рдм (3)
рд╣рд╛рдп @artf, рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ GrapesJS рдореЗрдВ рдирд╣реАрдВ рд╣реИ . event.key.toLowerCase() рдХреЙрд▓ рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рд╕реЗ рдЖ рд░рд╣реА рд╣реИ - рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ window.addEventListener("keydown", ...) рд╣реИрдВрдбрд▓рд░ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рд╣реИ, рдЬреЛ GrapesJS рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐...
рдЕрд░реЗ @saeedhbi, рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ event.key.toLowerCase() рдХрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рддрд░рдл рд╕реЗ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, jsfiddle рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдмрд╣реБрдд рдЕрдзрд┐рдХ AI рдврд▓рд╛рди рд▓рдЧрддрд╛ ЁЯШЕ рд╣реИ , рдпрд╣ рд╕рдВрдкрд╛рджрдХ рдХреЛ рд▓реЛрдб рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╕рд╛рдЭрд╛ рдХрд░...
GrapesJS рдХреЗ рдХреАрдмреЛрд░реНрдб рд╣реИрдВрдбрд▓рд░ рдореЗрдВ TypeError: Cannot read properties of undefined (reading 'toLowerCase') рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рддрдм рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрдм рдХреБрдЫ рдХреАрдмреЛрд░реНрдб рдЗрд╡реЗрдВрдЯ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪреАрдиреА, рдЬрд╛рдкрд╛рдиреА рдпрд╛ рдХреЛрд░рд┐рдпрд╛рдИ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдирдкреБрдЯ рдореЗрдердб рдПрдбрд┐рдЯрд░реНрд╕ (рдЖрдИрдПрдордИ) рд╕реЗ GrapesJS рдХреИрдирд╡рд╛рд╕ рдХреЗ рднреАрддрд░ рдЗрдирдкреБ...
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдЕрдВрдХ #3861
JS рддреНрд░реБрдЯрд┐ рдЬрдм "s" рдпрд╛ "w" рдХреБрдВрдЬреА рджрдмрд╛рдПрдВ - рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ ('indexOf' рдкрдврд╝рдирд╛)
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо рд╕рдВрд╕реНрдХрд░рдг 94....
рдЕрдВрдХ #6707
рдХреИрдирд╡рд╛рд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд▓ ('hasFocus' рдкрдврд╝рдирд╛) рдХреЗ рдЧреБрдг рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [x] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо (рд╕рдВрд╕реНрдХрд░рдг 14...
рдЕрдВрдХ #5274
рд░реАрдорд┐рдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдкрд╛рд░реНрд╕рд░ рдмрдЧ
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо v114 рдкреНрд░рддрд┐рд▓...
рдЕрдВрдХ #6706
TypeError: e.getRoot рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ (рд╕реНрдЯрд╛рдЗрд▓ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд░реЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐)
GrapesJS рд╕рдВрд╕реНрдХрд░рдг [x] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдХреНрд░...
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред
рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish тАФ plugins, articles, community questions, guides, authors and services. Press тМШK from any page.
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ?
2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ? рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд╛рд╕ рд▓рд╛рдЧрдд, рд╕рдордпрд╕реАрдорд╛, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ GrapesJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдкреЗрдЬрдХрд┐рдЯ: GrapesJS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдХреЛрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рд╕реНрд░реЛрдд-рдЙрдкрд▓рдмреНрдз Next.js рдРрдк - рдкреНрд░рдХрд╛рд╢рди, рдХрд╕реНрдЯрдо рдбреЛрдореЗрди, рд▓реАрдб, рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЛрдбрд░ред
рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ
рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред