Html2canvas: рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯрд░реАрдЬрд╝ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдорд╛рд░реНрдЪ 2012  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рдирдорд╕реНрддреЗ -

рдЕрдЧрд░ рдореИрдВ рдЗрд╕рдореЗрдВ рд░рд┐рдЯрд░реНрди рдХреЗ рд╕рд╛рде рдЯреЗрдХреНрд╕реНрдЯ рдбрд╛рд▓рддрд╛ рд╣реВрдВ, рддреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд░рд┐рдЯрд░реНрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ [рд╕рд┐рд░реНрдл рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдзреНрд╡рд╕реНрдд рджрд┐рдЦрддрд╛ рд╣реИ]ред рдореИрдВрдиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдХреБрдЫ [рдХрд╣рдирд╛ 3] рд░рд╛рдЬреНрдп рдкрд╣рд▓реЗ рдЦреАрдВрдЪрд╛ рдерд╛ред рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ?

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо html2canvas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ textarea рдХреЛ div рдореЗрдВ рдмрджрд▓ рд╕рдХреЗрдВ? рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж div рдХреЛ рд╡рд╛рдкрд╕ рдмрджрд▓ рджреЗрдВ

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

рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, input s рдпрд╛ textarea s рдХреЗ рднреАрддрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреИрдЪ рдирд╣реАрдВ рд╣реИред рдпрд╛ рддреЛ рдЯреЗрдХреНрд╕реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА Range s рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╕рдорд╛рдзрд╛рди) рдпрд╛ рдирдИ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд▓рд╕реА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╕рдорд╕реНрдпрд╛ https://github.com/niklasvh/html2canvas/blob/master/src/Parse.js#L717 рдкрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ

рдареАрдХ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж - рдЖрд▓рд╕реА рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдПрдХ рдмреЗрд╡рдХреВрдл рд╕рд╡рд╛рд▓ рд╣реИред рдореИрдВрдиреЗ рдПрдВрдбрд▓рд╛рдЗрди рдХреИрд░реЗрдХреНрдЯрд░/рдПрди/рдЖрд░ рдХреЛ рдпреВрдирд┐рдХреЛрдб рд▓рд╛рдЗрди рдлреАрдб рдХреИрд░реЗрдХреНрдЯрд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рд╕реЗ createTextNode() рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред

рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИ: http://stackoverflow.com/questions/22317823/html2canvas-remove-multiple-spaces-and-line-break
рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ <div contenteditable="true"></div> рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП textarea ред

рд▓реЗрдХрд┐рди рдореИрдВ рдХреЛрдгреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ ng-model рдореБрджреНрджреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

UPD
рдореБрдЭреЗ рдпрд╣рд╛рдВ 'div' рдкрд░ ng-model рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛: http://mehrantm.blogspot.com/2013/10/how-make-two-way-binding-to-your.html
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ ~

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо html2canvas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ textarea рдХреЛ div рдореЗрдВ рдмрджрд▓ рд╕рдХреЗрдВ? рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж div рдХреЛ рд╡рд╛рдкрд╕ рдмрджрд▓ рджреЗрдВ

рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛:

        $('textarea').each(function() {
            if(!$(this).hasClass('d-none')){
                $(this).replaceWith("<div contenteditable=\"true\">"+$(this).html()+"</div>")
            }
        });

html2canvas рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреА :)

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