FontAwesome http://fontawesome.io/ рдЖрдЗрдХрди рдХреНрд░реЛрдо рдореЗрдВ рдареАрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдирд╣реАрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмреЙрдХреНрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк jsfiddle рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рдлрд╝реЙрдиреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдпрд╣ рд╕рдлрд╛рд░реА рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ IE рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреБрдЫ рдЦреБрджрд╛рдИ рд╣реБрдИ рдФрд░ рдЗрд╕рдиреЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 26 рдФрд░ IE 11 рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рд╣реИ:
https://github.com/niklasvh/html2canvas/blob/master/src/Parse.js#L951
рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реА рдХреБрдЫ рдзрд╛рд░рдгрд╛рдПрдБ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреИрд░-рд╡реЗрдмрдХрд┐рдЯрдмреНрд░реЛрдЬрд╝рд░ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ getComputedStyles рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧреБрдг { 0: 'fontFamily' }
рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рдкреНрд░рдореБрдЦ рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ { fontFamily: 'fontawesome' }
рд╣реЛрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ Object.keys for in
рд▓реВрдк рдХреЗ рд╕рд╛рде Object.hasOwnProperty
рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк Object.keys()
рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рдзрд┐ рдФрд░ forchach рд╡рд┐рдзрд┐ рдХреЛ for in
рд▓реВрдк рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
for (var prop in elStyle) {
if (indexedProperty(prop) && prop !== 'cssText') {
// Prevent assigning of read only CSS Rules, ex. length, parentRule
try {
elps.style[prop] = elStyle[prop];
} catch (e) {
h2clog(['Tried to assign readonly property ', prop, 'Error:', e]);
}
}
}
рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ prop !== 'cssText'
рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдмрдЧ?) рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрд╕ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЫрджреНрдо рддрддреНрд╡ рдкрд░ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлреЙрдиреНрдЯрдлреИрдорд┐рд▓реА рдХреЛ рдлрд┐рд░ рд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред
рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред
@ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреГрдкрдпрд╛ "рдкреБрд▓ рдЕрдиреБрд░реЛрдз" рднреЗрдЬреЗрдВред
рдзрдиреНрдпрд╡рд╛рдж! : +1:
рдХреНрдпрд╛ @Enome рдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрднреА рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИ? рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдирдХреЗ рдХреЛрдб рдХреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@fpslater рдореИрдВрдиреЗ рдХрднреА рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рд╕реЗ рдпрд╛рдж рд╣реИ рддреЛ рдореИрдВ html -> рдХреИрдирд╡рд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рд╕реЗ рджреВрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп svg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
FontAwesome рдореЗрд░реЗ рд▓рд┐рдП рдХреНрд░реЛрдо рдФрд░ рдлреИрдВрдЯрдо рдЬреЗрдПрд╕ рдЬреИрд╕реЗ рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
@kmdavis рдХреНрдпрд╛ рдЖрдкрдиреЗ html2canvas v0.5 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо html2canvas v0.5.0-Alpha рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдХреНрдпрд╛ рдЖрдк jsfiddle рдкрд░ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ http://jsfiddle.net/3ub69/52/ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?
рдореБрдЭреЗ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВ html2canvas v0.5 рдореЗрдВ рдХреИрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрдЫрдирд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рд░реЗрдкреЛ рдкрд░ рдРрд╕реА рдХреЛрдИ рд╢рд╛рдЦрд╛ рдпрд╛ рдЯреИрдЧ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред
PS рдореИрдВ gem 'rails-assets-html2canvas
рдФрд░ рдирд┐рдореНрди bower.json
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд░реЗрд▓ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ html2canvas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
{
"name": "My-App",
"dependencies": {
"html2canvas": "https://github.com/niklasvh/html2canvas"
}
}
Https://rails-assets.org/compenders рдкрд░ рдЬреЛ рдХреБрдЫ рднреА рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рд╕реЗ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг <= 0.4.1 рд░реЗрд▓-рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд╕ рдЕрдкрдиреЗ app/assets/javascripts/vendor/
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╡реАрдирддрдо dist / html2canvas.js рдЬреЛрдбрд╝ рджрд┐рдП рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
@sweetleon рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рд╕рдВрд╢реЛрдзрд┐рдд рдПрдХ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ html2canvas.js
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
https://github.com/fpslater/fix-html2canvas-webkit-font-conversion
@sweetleon рдУрд╣ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ ;-)
рдореБрдЭреЗ рднреА рдпрд╣реА рддрдХрд▓реАрдлрд╝ рд╣реИ
рдлреЙрдиреНрдЯрд╡реНрдпреВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╕рдВрд╕реНрдХрд░рдг 'html2canvas 1.0.0-alpha.12' рдореЗрдВ рд╣реЛрддреА рд╣реИ
рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди? рдзрдиреНрдпрд╡рд╛рдж
рдлреЙрдиреНрдЯрд╡реНрдпреВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╕рдВрд╕реНрдХрд░рдг 'html2canvas 1.0.0-rc.5 рдореЗрдВ рд╣реЛрддреА рд╣реИ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдлреЙрдиреНрдЯрд╡реНрдпреВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╕рдВрд╕реНрдХрд░рдг 'html2canvas 1.0.0-alpha.12' рдореЗрдВ рд╣реЛрддреА рд╣реИ