Sweetalert: рд╕реНрд╡реАрдЯ рдЕрд▓рд░реНрдЯ рдореЗрдВ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЬреВрди 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: t4t5/sweetalert

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,
рдпрд╣ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
swal({ title: 'This is the ', text: '<a href="http://www.externalwebsite.com" target="_blank">externalwebsite.com</a>', html: true, showCancelButton: true, allowOutsideClick: true, goToExternal: true, externalUrl: 'http://www.externalwebsite.com', confirmButtonText: "Continue" });

рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЖрддрд╛ рд╣реИ

screenshot_32

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрд╡реАрдЯ рдЕрд▓рд░реНрдЯ рдХреЗ рдЕрдВрджрд░ рдПрдВрдХрд░ рдЯреИрдЧ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж
рдЖрджрд┐рд╕

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

рд╕реБрдиреЛ,

html рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдЙрди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ XSS-рд╣рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ DOM рдиреЛрдб рдХреЛ content рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдХреЗ рдХрдЪреНрдЪреЗ HTML рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ:

const el = document.createElement('div')
el.innerHTML = "Here's a <a href='http://google.com'>link</a>"

swal({
  title: "Hello!",
  content: el,
})

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

https://sweetalert.js.org/guides/#upgrading -from-1x
html рдЕрдм рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рдордЧреНрд░реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╣рд╛рдп @ рд╕рд░реНрдЧреЗрдИрдбрдмреНрд▓реНрдпреВ ,
рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рдБ, рдЬрдм рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╢реЛрдз рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ред

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

рдзрдиреНрдпрд╡рд╛рдж
рдЖрджрд┐рд╕

рд╕реБрдиреЛ,

html рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдЙрди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ XSS-рд╣рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ DOM рдиреЛрдб рдХреЛ content рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдХреЗ рдХрдЪреНрдЪреЗ HTML рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ:

const el = document.createElement('div')
el.innerHTML = "Here's a <a href='http://google.com'>link</a>"

swal({
  title: "Hello!",
  content: el,
})

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @t4t5

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