рдпрд╣рд╛рдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ (рдЕрдиреБрд╢рдВрд╕рд┐рдд) рдпрд╛ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ:
рд╡рд┐рдиреНрдпрд╛рд╕:
v2.2.228
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:
рд╣рдорд╛рд░реА рдПрдХ рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рд╣реИ рдЬреЛ unsafe-inline
рд░реЛрдХрддреА рд╣реИред
рдЗрд╕ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ v2.2.228
Function("r", "regeneratorRuntime = r")(runtime) рдореЗрдВ рдиреАрддрд┐ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА:
рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдореБрджреНрджрд╛ #10229
рдЗрд╕ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛
v2.2.228
Function("r", "regeneratorRuntime = r")(runtime);
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ PDF.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рднреАрддрд░ рдХрд╣реАрдВ рд╕реЗ рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ async
/ await
рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмреИрдмреЗрд▓ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рд╕реЗ рдЖрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдп рдирд╣реАрдВ рд╕рднреА рд╕реНрдкрд╖реНрдЯ рдХреНрдпрд╛ (рдХреБрдЫ рднреА рд╣реЛ) рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╣реИред
рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@timvandermeij рдХреЛрдб
@Snuffleupagus whta рдлрд╝рд╛рдЗрд▓ рдкрд░ рдХреЛрдИ рд╕рдВрдХреЗрдд рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП?
рдЗрд╕рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦрд╛ред рд╕рд╡рд╛рд▓ рд╣реА рдирд╣реАрдВ :-(
рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ regenerator-runtime/runtime.js рд╣реИ ред
рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред
@Snuffleupagus рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рд╕рджрд╛рдмрд╣рд╛рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдХреНрдпрд╛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ
рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ https://github.com/facebook/regenerator рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pdf.js рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдпрд╣рд╛рдБ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ
https://github.com/facebook/regenerator/pull/353
рд▓реЗрдХрд┐рди рдмреЗрдмреЗрд▓ рдкрд░ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЙрдиреНрд╣реЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд▓реЗрдирд╛ рдкрдбрд╝рд╛
https://github.com/facebook/regenerator/pull/369
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рдЧрддрд┐рд░реЛрдз рд╣реИред рдореИрдВ рдпрд╣рд╛рдВ рддреАрди рд╕рдорд╛рдзрд╛рди рджреЗрдЦрддрд╛ рд╣реВрдВ:
facebook/regenerator
рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВредfacebook/regenerator
(рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмреЗрдмреЗрд▓ рдХреЛ рднреА рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрдбрд╝реЗ)facebook/regenerator
ред (рдмрд╣реБрдд рд╕реЗ рдореМрдЬреВрджрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ ES5 рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА)редрд╡реИрд╕реЗ рднреА рд╕реАрдПрд╕рдкреА рдЙрд▓реНрд▓рдВрдШрди рдпрд╣рд╛рдБ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ
https://github.com/facebook/regenerator/blob/6e9e8d7747c2ab49927bdd9dd6261753181faec1/packages/regenerator-runtime/runtime.js#L716 -L725
// This module should not be running in strict mode, so the above
// assignment should always work unless something is misconfigured. Just
// in case runtime.js accidentally runs in strict mode, we can escape
// strict mode using a global Function call. This could conceivably fail
// if a Content Security Policy forbids using Function, but in that case
// the proper solution is to fix the accidental strict mode problem. If
// you've misconfigured your bundler to force strict mode and applied a
// CSP to forbid Function, and you're not willing to fix either of those
// problems, please detail your unique predicament in a GitHub issue.
Function("r", "regeneratorRuntime = r")(runtime);
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реАрдПрд╕рдкреА рдЙрд▓реНрд▓рдВрдШрди рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреВрдВрдХрд┐ рдпрд╣ рдкреБрдирд░реНрдпреЛрдЬреА-рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдПрдХ рдЬреНрдЮрд╛рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП pdf.js рдХреЛ рд╕рдЦреНрдд-рдореЛрдб рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
@timvandermeij рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ pdf.js рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ PDF.js рдпрд╣рд╛рдБ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЯрд┐рдкреНрдкрдгреА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдмреВрдЭрдХрд░ PDF.js рдХреЛ рд╕рдЦреНрдд рдореЛрдб рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ рдФрд░ рд╣рдо рд╕реАрдзреЗ facebook/regenerator
рдЙрдкрдпреЛрдЧ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдорд╛рдореВрд▓реА рдкрд░рд┐рд╡рд░реНрддрди рди рд╣реЛ/ рд╣рдорд╛рд░реА рддрд░рдл рд╕реЗ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╣ рддрдм рдХреНрдпрд╛ рд╣реЛрдЧрд╛...
@timvandermeij
рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
pdf.js рдХреЗ рдмреЗрдмреЗрд▓ рдореБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд░ рдХреЛ рд░реАрдЬреЗрдирд░реЗрдЯрд░-рд░рдирдЯрд╛рдЗрдо рдкреЙрд▓реАрдлрд┐рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
@jkroepke рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рдо рдмреИрдмреЗрд▓ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП PDF.js рдХреЗ рд▓рд┐рдП рдЙрди рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рдирдХрд╛ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЕрднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ рдЖрдк рд╕реНрд╡рдпрдВ PDF.js рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ Babel transpiling рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ 2.3.200 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдХреЛрдИ рдХрд╛рдордХрд╛рдЬ рдпрд╛ рд╕реБрдзрд╛рд░? рдзрдиреНрдпрд╡рд╛рджред
@timvandermeij
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ pdf.js рдЗрд╕реЗ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдЦреНрдд рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд░реАрдЬреЗрдирд░реЗрдЯрд░-рд░рдирдЯрд╛рдЗрдо/рдмреЗрдмреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдм рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдорд╛рдПрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 4 рд╡рд┐рдХрд▓реНрдк рджреЗрдЦрддрд╛ рд╣реВрдВ:
рдмреЗрдмреЗрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред pdf.js рдХреЗ 2.1.266 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкрд┐рди рдХрд░рдирд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд┐рди рдХрд░рдирд╛ рдХрднреА рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреБрд░рд╛рдиреЗ рдмреИрдмрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдмрдЧ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдЕрджреНрдпрддрди рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░/рдпрд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
[...] (https://caniuse.com/#feat=es6-generators)
рдмрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PDF.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд╡рд░реНрддрдорд╛рди рдореЗрдВ) рдХрд┐рд╕реА рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ async
/ await
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдпрд╣рд╛рдВ рдореМрдЬреВрдж рд╣реИред
pdfjs-dist рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рдПрдХ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП (ES5 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд) рдФрд░ рдПрдХ рд╡рд░реНрддрдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдПред (ES6 рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА)
рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ/рдХрдм рд╣реЛрдЧрд╛ рдпрд╣ рдЗрд╕ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ (рдкреАрдЖрд░ #резрезреирекрез рдореЗрдВ рдЪрд░реНрдЪрд╛/рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ)ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рддрдм рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд (рд╕рд╛рдорд╛рдиреНрдп) рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рд▓реНрдб рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:
рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо ES-{рд╕рдВрд╕реНрдХрд░рдг} рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдирд╛рддрд╛ рд╣реИ
рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо 2 рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдпреЛрдВ/рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВрдЧреЗ?
рд╕реБрдкрд░ рдмреНрд▓реАрдбрд┐рдВрдЧ рдПрдЬ рднрд╛рд╖рд╛ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдирдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо 2 рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдпреЛрдВ/рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВрдЧреЗ?
рдЗрд╕рдХреЗ рд▓рд┐рдП рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдПрдХ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд╛рдпрдж рдФрд░ рднреА рднреНрд░рдорд┐рдд рд╣реЛрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рднреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдмрд┐рд▓реНрдб рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рднреА рдХреБрдЫ рдирд┐рдпрдорд┐рдд PDF.js рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдкрд░ рдЕрдзрд┐рдХ рджрдмрд╛рд╡ рдбрд╛рд▓реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рджреЛрдиреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рддред
рдореВрд▓ рд░реВрдк рд╕реЗ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдВрдЫрдиреАрдп рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реЛрдЧреА рдХрд┐ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рддреЛ:
рд╕реБрдкрд░ рдмреНрд▓реАрдбрд┐рдВрдЧ рдПрдЬ рднрд╛рд╖рд╛ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдирдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдордиреЗ рдХрднреА рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рддреБрд░рдВрдд рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдЬрдм рдпрд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдирд╛рдЗрдЯрд▓реА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдирдорд╕реНрддреЗ,
рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдореИрдВрдиреЗ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╡рд╣ рд░реАрдЬрдирд░реЗрдЯрд░ -рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рдХрд░рдирд╛ рдерд╛, рд╕реАрдзреЗ рдореЗрд░реЗ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЛ рд╕реЛрдЪрд╛ред
рдЗрд╕ рддрд░рд╣ рдореИрдВрдиреЗ pdfjs-dist. рдЗрд╕рдиреЗ рдореБрдЭреЗ рдкреАрдбреАрдПрдлрдЬреЗ рдХреЛ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдореЗрд░реЗ рд╕реАрдПрд╕рдкреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреА :)
@makidelille рдХреНрдпрд╛ рдЖрдк рдХреЛрдгреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
@makidelille рдХреНрдпрд╛ рдЖрдк рдХреЛрдгреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
рд╣рдо рдХреЛрдгреАрдпрдЬ ( рдЕрднреА рднреА ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ pdf.js рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдХрд╕реНрдЯрдо рд╡реНрдпреВрдЕрд░ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ angularjs рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХрд╕реНрдЯрдо рд╡реНрдпреВрдЕрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ angularjs рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЙрд▓реАрдлрд┐рд▓ рд╣реИрдВред
рдореБрдЭреЗ рдХреЛрдб рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:
https://github.com/mozilla/pdf.js/blob/master/web/ui_utils.js#L893
Refused to apply inline style because it violates the following Content Security Policy directive: "style-src ...". Either the 'unsafe-inline' keyword, a hash ('sha256-MW4Iy/yu3WipUpTMM/T6OjvUu9R6vUwutodlmYNo6qM='), or a nonce ('nonce-...') is required to enable inline execution.
рдирдорд╕реНрддреЗ,
рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдореИрдВрдиреЗ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╡рд╣ рд░реАрдЬрдирд░реЗрдЯрд░ -рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рдХрд░рдирд╛ рдерд╛, рд╕реАрдзреЗ рдореЗрд░реЗ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЛ рд╕реЛрдЪрд╛ред
рдЗрд╕ рддрд░рд╣ рдореИрдВрдиреЗ pdfjs-dist. рдЗрд╕рдиреЗ рдореБрдЭреЗ рдкреАрдбреАрдПрдлрдЬреЗ рдХреЛ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдореЗрд░реЗ рд╕реАрдПрд╕рдкреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреА :)
рдХреНрдпрд╛ рдЖрдк (рдпрд╛ рдХреЛрдИ рдФрд░) рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХреЛрдгреАрдп 2+ рдореЗрдВ рдХреИрд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЙрд╕реА рд╕реАрдПрд╕рдкреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ (рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдореЗрд░рд╛ рдЯрд┐рдХрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдкреИрдХреЗрдЬ/рдПрдирдкреАрдПрдо/рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреБрдЫ рдРрд╕реА рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рд╡рд╣ рд╕рдм рдХреБрдВрдЖред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдкреАрдбреАрдПрдлрдЬреЗ рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА (реи.рез.реиремрем, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдЗрд╕ рдХреЛрдгреАрдп реи+ рд░реИрдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкреАрдбреАрдПрдлрдЬреЗ рдХреЗ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореЗрд░реЗ рдЬреИрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рдХреЛрдгреАрдп рдкреАрдбреАрдПрдлрдЬреЗрдПрд╕ рд░реИрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реАрдПрд╕рдкреА рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рд▓реНрдб рд╣реЛрдВрдЧреЗ:
рдмрдврд╝рд┐рдпрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж @Snuffleupagus рдФрд░ рд╕рднреА рдиреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛: 1st_place_medal:
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рд▓реНрдб рд╣реЛрдВрдЧреЗ: