Yandex.Mail рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рдореНрдорд┐рд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ

Yandex.Mail рдореЗрдВ рдПрдХ рдкрддреНрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЪрд┐рддреНрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ

рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рд╣рдордиреЗ Yandex.Mail рдореЗрдВ рдирдП рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХреАред рджрд┐рд╕рдВрдмрд░ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рдЫрд╡рд┐ рджрд░реНрд╢рдХ рд╣реИ ред рдЗрди рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд▓ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдФрд░ рдХрдард┐рдирд╛рдИ рдереА: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╕рдВрджреЗрд╢ рд╕реАрдзреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рдереЗред рдЪрд┐рддреНрд░ рдХреЛ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдФрд░ рд╡рд╣рд╛рдБ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рдкрддреНрд░ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рдерд╛ред

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

рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдпрд╛ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ URL рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реЗ тАЛтАЛрдмрд╕ рдЦреАрдВрдЪрдХрд░ рд╕рдВрджреЗрд╢ рдирд┐рдХрд╛рдп рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдкрдврд╝реЗрдВред


рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рддрд╕реНрд╡реАрд░реЗрдВ рдЪрд┐рдкрдХрд╛рдирд╛


рд╣рд╛рд▓ рддрдХ рддрдХ, рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдПрдкреАрдЖрдИ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрд╕ ( рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдПрдкреАрдЖрдИ ) рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрдм рдХреЙрдкреА, рдХрдЯрд┐рдВрдЧ рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рдлреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ рдФрд░ рди рдХреЗрд╡рд▓ рдкрд╛рда рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ WebKit-Browser (Safari, Chrome, Yandex.Browser) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдХреЙрдкреА, рдХрдЯ рдФрд░ рдкреЗрд╕реНрдЯ рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП, рдЗрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрдбреИрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИред рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрдбреИрдЯ рдореЗрдВ рдЧреБрдг рдЖрдЗрдЯрдо (рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рддрддреНрд╡) рдФрд░ рдкреНрд░рдХрд╛рд░ (рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдкреНрд░рдХрд╛рд░) рд╣реИрдВред рдЖрдк GetData рдФрд░ setData рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдлрд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдпрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

Chrome рдореЗрдВ (рд╕рдВрд╕реНрдХрд░рдг 18 рдХреЗ рдмрд╛рдж рд╕реЗ) рдФрд░ Yandex.Browser рдЪрд┐рдкрдХрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдЪрд┐рддреНрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

//   contentEditable var el = document.getElementById('editor'); el.addEventListener('paste', function(e) { var clipboard = e.clipboardData; if (clipboard && clipboard.items) { //         var item = clipboard.items[0]; if (item && item.type.indexOf('image/') > -1) { //      var blob = item.getAsFile(); if (blob) { //       data:uri var reader = new FileReader(); reader.readAsDataURL(blob); reader.onload = function(event) { var img = new Image(); img.src = event.target.result; el.appendChild(img); } } } } }); 

WebKit рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдЪрд┐рдкрдХрд╛рдиреЗ рд╕реЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рднреА рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ: рд╡рд╣рд╛рдБ, designMode рдореЗрдВ рдЪрд┐рддреНрд░ рддреБрд░рдВрдд рдбреЗрдЯрд╛ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: uriред

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ URL рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ


рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ - рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдкреГрд╖реНрда рд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рдкрддреНрд░ рдореЗрдВ рдЪрд┐рдкрдХрд╛рдирд╛ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рд╕рдлрд╛рд░реА 5+ рдореЗрдВ, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрдбреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рдЖрдЗрдЯрдо рдЧреБрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдХреЙрдкреА рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ url рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ DesignMode рдореЗрдВ рдЪрд┐рддреНрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, Safari src рд╡рд┐рд╢реЗрд╖рддрд╛ (webkit-fake-url: // 416873AC ...) рдХреЗ рд▓рд┐рдП рдирдХрд▓реА рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ img рддрддреНрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЬреЗрдПрд╕ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирдХрд▓реА рддрд╕реНрд╡реАрд░ рдХреЛ рдбрд╛рд▓рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ StopDefault рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

  //   contentEditable var el = document.getElementById('editor'); el.addEventListener('paste', function(e) { var clipboard = e.clipboardData; if (clipboard && clipboard.types) { var types = clipboard.types; if (types.indexOf('public.url') > -1) { //    ,        (webkit-fake-url://416873AC...) e.preventDefault(); //   var img = new Image(); img.src = clipboard.getData('public.url'); el.appendChild(img); } } }); 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ url рд╕рдореНрдорд┐рд▓рди IE9 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдореНрдорд┐рд▓рд┐рдд рдЦреАрдВрдЪреЗрдВ


рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдпреВрдЖрд░рдПрд▓ рд╕реЗ рд╕реАрдзреЗ рдЪрд┐рддреНрд░реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдбреНрд░реЙрдк рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдкрддреНрд░ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

  //   contentEditable var el = document.getElementById('editor'); el.addEventListener('drop', function(e) { var dataTransfer = e.dataTransfer; if (dataTransfer && dataTransfer.files) { var files = dataTransfer.files; var len = files.length; if (len) { for (var i = 0; i < len; i++) { var file = files[i]; //    if (file.type.indexOf('image/') < 0) continue; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(event) { var img = new Image(); img.src = event.target.result; el.appendChild(img); }; } e.preventDefault(); } } }); 

рдпрд╣ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рд╕рдлрд╛рд░реА 5.1+, рдХреНрд░реЛрдо рдФрд░ рдпреИрдВрдбреЗрдХреНрд╕.рдмреНрд░реЛрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

Yandex.Mail рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдкрддреНрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдиреАрд╕реАрдИрд╡рд╛рдИ WYSIWYG рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрд╛ рдерд╛ред рдпрд╣ github.com/Panya/tinymce_pasteimage рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред

Source: https://habr.com/ru/post/In165919/


All Articles