Html2canvas: рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди IE11 рдореЗрдВ рд░реЗрдВрдбрд░ рдПрд░рд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдЧре░ 2019  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рджреЛрд╖ рд░рд┐рдкреЛрд░реНрдЯ:

рдореБрдЭреЗ 1.0.0-rc3 рдореЗрдВ #1451 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рд╕реАрдПрд╕рдПрд╕ рд╣реИ рдЬреИрд╕реЗ рдХрд┐

<strong i="7">@media</strong> screen and (min-width: 1360px) {
...
}
<strong i="8">@media</strong> screen and (max-width: 1575px) {}
<strong i="9">@media</strong> screen and (max-width: 980px) {}

рдХреНрд░реЛрдо рдФрд░ рдПрдЬ рдореЗрдВ, рд░реЗрдВрдбрд░ рдкрд░рд┐рдгрд╛рдо рдПрдХрджрдо рд╕рд╣реА рд╣реИред рд▓реЗрдХрд┐рди IE11 рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдЫреЛрдЯреЗ рдкрд░реНрджреЗ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде div рдХреА рдЪреМрдбрд╝рд╛рдИ <strong i="12">@media</strong> screen and (max-width: 980px) {} рдореЗрдВ css рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рдлрд┐рд░ рдореИрдВ https://stackoverflow.com/questions/31793507/html2canvas-renders-page-with-wrong-layout-in-ie11-whed-devtools-not-opened#comment92407156_31800273 рдЬреЛ https рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдореЗрдВ рджрд┐рд╢рд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ cloneIframeContainer.width = (bounds.width + 1).toString(); ред рд▓реЗрдХрд┐рди рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИред

рдПрдХ рдФрд░ рдЕрдЬреАрдм рдмрд╛рддред https://stackoverflow.com/questions/31793507/html2canvas-renders-page-with-wrong-layout-in-ie11-whed-devtools-not-opened#comment92407156_31800273 рдХреА рд╕реНрдерд┐рддрд┐ рднреА рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдИред рдЬрдм devtools рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд░реЗрдВрдбрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдЧреЗ рдХреЗ рд╢реЛрдз рдХреЗ рд╕рд╛рдеред рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдХреЙрдиреНрдлрд┐рдЧ Always refresh from server рдЦреЛрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдЧрд▓рдд рд╣реЛ рдЬрд╛рдПрдЧреАред

  • html2canvas рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛: 1.0.0-rc3
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг: IE11
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: Win10

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

IE11 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИ: ;)

https://www.zdnet.com/article/microsoft-security-chief-ie-is-not-a-browser-so-stop-using-it-as-your-default/

IE11 рдореЗрдВ html2canvas (рд╡реИрд╕реЗ рднреА рдореЗрд░рд╛ рдЕрдиреБрднрд╡) рдХреЗ рд╕рд╛рде рдШрд┐рд╕реЗ-рдкрд┐рдЯреЗ рд╕рд╛рдорд╛рди рдХрд╛ рдЖрд╡рдВрдЯрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдПрдЬ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдпрд╛ рдЕрдиреНрдп рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

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

IE11 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИ: ;)

https://www.zdnet.com/article/microsoft-security-chief-ie-is-not-a-browser-so-stop-using-it-as-your-default/

IE11 рдореЗрдВ html2canvas (рд╡реИрд╕реЗ рднреА рдореЗрд░рд╛ рдЕрдиреБрднрд╡) рдХреЗ рд╕рд╛рде рдШрд┐рд╕реЗ-рдкрд┐рдЯреЗ рд╕рд╛рдорд╛рди рдХрд╛ рдЖрд╡рдВрдЯрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдПрдЬ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдпрд╛ рдЕрдиреНрдп рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, IE11 рдореЗрдВ рдореЗрд░рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреГрд╖реНрда h2c рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░ рджреЗрддреА рд╣реИ! :(

рдореБрдЭреЗ рднрд╛рд╡ рдХрд╛ рдмреЛрдз :)

рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдЖрдИрдИ рдореЗрдВ рдХреИрд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рд╕реАрдПрд╕рдПрд╕ рд╕реНрдкрд╖реНрдЯ рдХреИрд╢ рдХреЗ рдмрд╛рдж рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред рддреЛ init h2c рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ css рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд▓рд┐рдВрдХ рдЯреИрдЧ рд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ href рдХреЗ рдмрд╛рдж рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрдм h2c рдЗрди рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреИрд╢ рдХреЗ рдмрдЬрд╛рдп рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред

            var links = document.getElementsByTagName('link');
            for(var i in links){
                if(links[i].href){
                    links[i].href = (links[i].href + "?timestamp=" + new Date().getTime());
                }
            }

рдореИрдВ рднреА рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛ рд╣реВрдБ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рд╣реИ?

@jdsxzhao

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреВрдЭ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдореБрдЭреЗ рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдорд┐рд▓реА рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИред

рдмрдВрдж() рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдЪреМрдбрд╝рд╛рдИ + 1 рд╣реИрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдЖрдИрдлреНрд░реЗрдо рд▓реЛрдбрд░ рд╡рд╛рджреЗ рдХреЗ рдЕрдВрджрд░ рд╡рд╛рдкрд╕реА рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ:

https://github.com/niklasvh/html2canvas/blob/3982df1492bdc40a8e5fa16877cc0291883c8e1a/src/dom/document-cloner.ts#L100

рддреЛ рд╡рд╣ рдЯреБрдХрдбрд╝рд╛ рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

if (documentClone.fonts && documentClone.fonts.ready) {
  await documentClone.fonts.ready;
}

iframe.width = parseInt(iframe.width) + 1;

if (typeof onclone === 'function') {
  return Promise.resolve()
    .then(() => onclone(documentClone))
    .then(() => iframe);
}

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

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

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tibewww picture tibewww  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dking3876 picture dking3876  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arzyu picture arzyu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anthonymejia picture anthonymejia  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

diego-rey picture diego-rey  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ