Html2canvas: ์ž˜๋ชป๋œ ์ •๊ทœ ํ‘œํ˜„์‹์œผ๋กœ ์ธํ•ด TypeError์™€ ํ•จ๊ป˜ ์ƒ‰์ƒ ์ •์ง€ ์ผ์น˜๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2014๋…„ 11์›” 04์ผ  ยท  29์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: niklasvh/html2canvas

๋‚ด๊ฐ€๋ณด๊ณ  ์žˆ์–ด์š” TypeError ์ปฌ๋Ÿฌ ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ (์˜ˆ : transparent , ๋ฐ˜๋Œ€๋กœ rgb() ๊ฐ’)์— ๋Œ€ํ•œ ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์€ "๋‹จ๊ณ„"์ •๊ทœ ํ‘œํ˜„์‹ ์—์„œ LinearGradientContainer ์ด ๊ฒฝ์šฐ ํ•ญ์ƒ null ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค( ์ด ์ค„ ์ฐธ์กฐ ).

[a-z]+ ์ƒ‰์ƒ ํ‚ค์›Œ๋“œ์™€ rgb() / rgba() ๊ธฐ๋Šฅ ํ‘œ๊ธฐ๋ฒ• ๋ชจ๋‘์—์„œ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ์ •๊ทœ ํ‘œํ˜„์‹์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋งˆ์Œ์„ ์—ฌ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (์›ํ•œ๋‹ค๋ฉด ์ •๊ทœ ํ‘œํ˜„์‹์— hsl() / hsla() ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.) ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ชจ๋“  29 ๋Œ“๊ธ€

์ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ pull ์š”์ฒญ์€ ํ›Œ๋ฅญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ด๋ฒˆ ์ฃผ๋ง์— ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ:
https://developer.mozilla.org/docs/Web/CSS/color_value
https://developer.mozilla.org/docs/Web/CSS/gradient
http://stackoverflow.com/a/12456392/357774

ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ ์‚ฝ์ž… ๊ตฌํ˜„๊ณผ ๊ด€๋ จํ•˜์—ฌ ํŠน์ • ๋น„์œจ๋งŒํผ ์ƒ‰์ƒ์„ ์–ด๋‘ก๊ฒŒ/๋ฐ๊ฒŒ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ‰์ƒ์— ๋Œ€ํ•œ ๊ณตํ†ต ๊ตฌ๋ฌธ ๋ถ„์„๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ทธ๋ž˜๋””์–ธํŠธ ์ˆ˜์ •์„ ํ†ตํ•ด ์ƒ‰์ƒ์„ ๊ณตํ†ต ํ˜•์‹์œผ๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ: ์‚ฝ์ž…๋„ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋–ค ์ƒ‰์ƒ(hex, rgb, rgba, hls, hlsa, 'red', 'green' ๋“ฑ๊ณผ ๊ฐ™์€ ์‚ฌ์ „ ์ •์˜๋œ ์ด๋ฆ„)์ด r, g, b ๋ฐ ์ •์˜๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ Color ๊ฐ์ฒด๋กœ ๊ตฌ๋ฌธ ๋ถ„์„๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํ…Œ๋‘๋ฆฌ ์‚ฝ์ž…๋„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณตํ†ต ์ƒ‰์ƒ ๊ตฌ๋ฌธ ๋ถ„์„/ํ‘œํ˜„์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์—ผ๋‘์—๋‘๊ณ  ์•„๋งˆ๋„ ์งˆ๋ฌธ์ด์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃผ๋ง์— ์ด๊ฒƒ์„ ๋ณผ ๊ธฐํšŒ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋‚ด์ผ ์‹œ๊ฐ„์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์–ด, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์•„๋‹™๋‹ˆ๋‹ค. :/ ๋กœ์ปฌ์—์„œ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ๋ฅผ ์„ค์ •ํ–ˆ์ง€๋งŒ(์•„์ง ์•„๋ฌด ๊ฒƒ๋„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์Œ) ํœฉ์“ธ๋ฆฌ๊ณ  ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ƒ‰์ƒ ๊ตฌ๋ฌธ ๋ถ„์„(์ง€๊ธˆ๊นŒ์ง€ rgb, rgba, hex3 ๋ฐ hex6์œผ๋กœ ๋ช…๋ช…๋จ)์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ชจ๋“  ์ƒ‰์ƒ ์‚ฌ์šฉ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ผ๋ฐ์ด์…˜ ์ •๊ทœ์‹์€ ์•„์ง ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

https://github.com/niklasvh/html2canvas/commit/313c227a1fed416331978e365ef82000ea7f7aa5 ์ฐธ์กฐ

๋ฉ‹์ง„! ์ด๋ฒˆ ์ฃผ๋ง์— ์ด ์ •๊ทœ์‹์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@niklasvh ๋ฐฉ๊ธˆ ๋‚ด ๋ธŒ๋žœ์น˜(359ee8b)์—์„œ ๋งŒ๋“  ์ปค๋ฐ‹์„ ๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”? ๋‚ด ๋ถˆํ•„์š”ํ•œ ์ฃผ์„์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ณง ์ƒ‰์ƒ ์ด๋ฆ„์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ์‚ดํŽด๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

Firefox์— ๋Œ€ํ•œ ๋ฐฉํ–ฅ ๊ตฌ๋ฌธ ๋ถ„์„์„ ์ˆ˜์ •ํ•˜์—ฌ ์ด์ „์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ Œ๋”๋ง๋˜์ง€ ์•Š์€ ํŠน์ • ์„ ํ˜• ๊ทธ๋ผ๋””์–ธํŠธ๊ฐ€ ์ด์ œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ž„์‹œ๋กœ tests/lineargradients_manual.html (๊ธฐ๋ณธ์ ์œผ๋กœ tests/cases/background/linear-gradient.html ์˜ ๋ณต์‚ฌ๋ณธ)์— ๋„ฃ์€ ์ˆ˜๋™ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์…€๋ ˆ๋Š„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €/๋ฒ„์ „์—์„œ ์ •ํ™•๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ํšŒ๊ท€๊ฐ€ ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ๊ดœ์ฐฎ์€์ง€ ํ™•์ธํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ Œ๋” ์ •ํ™•๋„ ํ–ฅ์ƒ์€ ํ…Œ์ŠคํŠธํ•œ ๊ฒƒ๋ณด๋‹ค ์ตœ์‹  ๋ฒ„์ „์˜ FF๋ฅผ ๋น„๊ตํ–ˆ์„ ๋•Œ๋งŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. (ํ…Œ์ŠคํŠธ๋œ Firefox์˜ ์œ ์ผํ•œ ๋ฒ„์ „์€ 15์ธ๊ฐ€์š”??)

ํ , ์ž ์‹œ๋งŒ์š”, ์ œ๊ฐ€ ๋ญ”๊ฐ€ ์ด์ƒํ•œ ์ง“์„ ํ–ˆ์„ ์ˆ˜๋„ ์žˆ์–ด์š”. ์ œ ํ™ˆ ๋จธ์‹ ์˜ ์‚ฌ๊ฐํ˜•์€ ์ด์ œ ๋Œ€๋ถ€๋ถ„ ๊ฒ€์€์ƒ‰์ž…๋‹ˆ๋‹ค.

์•„, ์•„๋‹™๋‹ˆ๋‹ค. 498527918c3324dce77260057bc47c280cc3324f๊ฐ€ ๋ฌธ์ œ ์ปค๋ฐ‹์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ œ ๋ฌผ๊ฑด์€ ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค. :๋•€_๋ฏธ์†Œ:

๋ฐฑ๋ถ„์œจ์ด 100% ๋˜๋Š” 0%๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ?

ํ˜„์žฌ๋กœ์„œ๋Š” ์ž„์˜์˜ ๋ฐฑ๋ถ„์œจ์„ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ(๊ธฐ๋ณธ๊ฐ’ 50%๋กœ ์œ ์ง€), ์ถฉ๋ถ„ํžˆ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( ์—…๋ฐ์ดํŠธ : ์ž„์˜์˜ ๋ฐฑ๋ถ„์œจ ์ง€์› ์ถ”๊ฐ€: 6af1874dc04c81d1aba5d6e8e6c8ef69681a2e49.)

๋‚ด๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒƒ์€ px , em , rem , ex , cm ์ผ ์ˆ˜ ์žˆ๋Š” ๋น„๋ฐฑ๋ถ„์œจ ๊ธธ์ด์ž…๋‹ˆ๋‹ค. mm , in , pc , pt ๋“ฑ... ์•„์ง ์ฝ”๋“œ์—์„œ ์ฐพ์ง€ ์•Š์•˜์ง€๋งŒ ์ด๋ฏธ ๋‹ค์–‘ํ•œ ๋‹จ์œ„์˜ ๊ธธ์ด๋ฅผ ์ฒ˜๋ฆฌ/๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? (๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์ด ๊ธฐ๋Šฅ์˜ ์ผ๋ถ€๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๋ณ„๋„๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?)

์ ˆ๋Œ€ ๊ธธ์ด ๋Š” ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•˜์ง€๋งŒ ์ฒ˜์Œ์—๋Š” px๋กœ ์ถฉ๋ถ„ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@niklasvh ์ €๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ณ  ์ž‘์—…ํ•  ์‹œ๊ฐ„์ด ์ข€ ๋” ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์ „์— ๋‚ด fix-firefox-gradients ๋ธŒ๋žœ์น˜๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋Œ“๊ธ€์„ ๋‹ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ •๊ทœ ํ‘œํ˜„์‹์ด ํ”ฝ์…€ ๊ธธ์ด(๊ทธ๋ผ๋””์–ธํŠธ ์‹œ์ž‘ ์œ„์น˜ ๋ฐ ์ƒ‰์ƒ ์ค‘์ง€ ์œ„์น˜ ๋ชจ๋‘)๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์›์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์—†๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ๊ธธ์ด์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ€์žฅ ๊นจ๋—ํ•œ ๋ฐฉ๋ฒ•์€ ๊ทธ๋ž˜๋””์–ธํŠธ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ์ž์— ์ „๋‹ฌ๋œ imageData ๊ฒฝ๊ณ„ ์ •๋ณด๋ฅผ ํฌํ•จ์‹œํ‚จ ๋‹ค์Œ ์ด๋ฅผ ๋ฐฑ๋ถ„์œจ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์•„๋งˆ๋„ ๋ณ„๋„์˜ pull ์š”์ฒญ์œผ๋กœ ๊ฐ€์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”! ์ด ๋ฌธ์ œ๋ฅผ ๊ณง ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ๋‚ด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํ”ผ๋“œ๋ฐฑ์„ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์ง„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์•„์ง ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค!

@niklasvh ๊ฐ€ ๋‚ด ์ง€์ ์—์„œ ์‚ฌ์šฉํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„

:+1: ๋ฐฉ๊ธˆ ์ด๊ฒƒ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค.

TypeError: Cannot read property '1' of null at GradientContainer.<anonymous> (http://localhost:8100/all.js:34496:44) 
at Array.map (native) 
at GradientContainer.LinearGradientContainer (http://localhost:8100/all.js:34493:66)
at ImageLoader.279.ImageLoader.loadImage (http://localhost:8100/all.js:34367:16) 
at ImageLoader.<anonymous> (http://localhost:8100/all.js:34339:46) 
at Array.forEach (native) 
at ImageLoader.279.ImageLoader.addImage (http://localhost:8100/all.js:34337:23) 
at Array.forEach (native) 
at ImageLoader.279.ImageLoader.findBackgroundImage (http://localhost:8100/all.js:34331:71) 
at 295.exports.bind (http://localhost:8100/all.js:36357:25)

์•ˆ๋…•ํ•˜์„ธ์š” @niklasvh! #526์„ ์ˆ˜์ •ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚ด fix-firefox-gradients ์ง€์  ์„ ๋ณผ ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ๋‚˜์š”? PR์„ ํ•˜๊ธฐ ์ „์— ๋‚ด ์ง€์ ์„ ๋ฆฌ๋ฒ ์ด์Šคํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ถฉ๋Œ์„ ์ˆ˜์ •ํ•˜์ง€๋งŒ PR์ด ์—ฌ์ „ํžˆ ํ™˜์˜๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. (ํ•ฉ๋ฆฌ์ ์ธ ์‹œ๊ฐ„ ์•ˆ์— ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?) ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@usmonster ์•„๋‹ˆ์š”, ๋†“์ณ์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ˆ˜์ •์„ ํ•˜๋Š” ๋™์•ˆ ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ red ๋˜๋Š” blue ์™€ ๊ฐ™์€ ๋ช…๋ช…๋œ ์ƒ‰์ƒ์„ ๊ฐ๊ฐ์˜ rgb ๋˜๋Š” rgba ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. transparent ํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Color ๋ชจ๋“ˆ์€ ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ ๋ณ€ํ˜•์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์ง€๋งŒ, ์šฐ์„  master ์—์„œ ํ˜„์žฌ ๊ตฌ๋ฌธ ๋ถ„์„์ด ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ์‹์— ๋งŒ์กฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ช…๋ช…๋œ ์ƒ‰์ƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@niklasvh , Color ์ƒ์„ฑ์ž๊ฐ€ ์ด๋ฏธ ์ˆ˜ํ–‰ํ•œ ์กฐํšŒ ๋ฐ ์ •๊ทœํ™”๋Š” ๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ์ž˜๋ชป ์ดํ•ดํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ชจ๋“  ๋ช…๋ช…๋œ ์ƒ‰์ƒ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋˜ํ•œ ์ƒ‰์ƒ ๋ฐ ์„ ํ˜• ๊ทธ๋ผ๋””์–ธํŠธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ •๊ทœ์‹์„ ์ˆ˜์ •ํ•˜์—ฌ ๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๊ณ  ์ •ํ™•ํ•˜๋ฉฐ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์œผ๋ฏ€๋กœ ๋ช…๋ช…๋œ ์ƒ‰์ƒ์ด ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋‚˜์š”?

@usmonster ๋งž์•„์š”, ์ œ๊ฐ€ ์–ธ๊ธ‰ํ•œ https://github.com/niklasvh/html2canvas/compare/master...usmonster :fix-firefox-gradients#diff-48b5afb6985c457b9f79fcca1cfb499dR21 ์€ ์ด๋ฆ„์ด ์ง€์ •๋œ ์ƒ‰์ƒ์„ ๊ณ ๋ คํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฑฐ๊ธฐ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ฒ ์ด์Šคํ•˜๊ณ  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์˜ฌ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ดœ์ฐฎ์•„์š”! ๋‚˜๋Š” ์•ž์œผ๋กœ ๋ฉฐ์น  ๋™์•ˆ ์‚ดํŽด๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ฃผ๋ง ์ฐฝ์„ ๋†“์ณค์Šต๋‹ˆ๋‹ค. :/

@niklasvh #708์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. :)

FireFox์˜ html2canvas.js:1454:13์—์„œ "TypeError: colorStopMatch is null"์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Chrome์—์„œ๋Š” ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @Observer999์ž…๋‹ˆ๋‹ค! ์ด ๋ฌธ์ œ๋Š” ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์œ ์‚ฌํ•œ ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค. (๋˜ํ•œ ํ…Œ์ŠคํŠธํ•œ Firefox ๋ฒ„์ „์„ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค.) ์ฝ”๋“œ ์˜ TODO ์™€ ๊ด€๋ จ

@usmonster @niklasvh ์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์ด ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ตœ์‹  ๋ฒ„์ „์˜ html2canvas๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ Chrome ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ Firefox์—์„œ๋Š” ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

html2canvas.js: ํ˜•์‹: 1377 ์žกํžˆ์ง€ ์•Š์Œ(์•ฝ์† ์ค‘) TypeError: null์˜ ์†์„ฑ '1'์„ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
LinearGradientContainer์—์„œ.(html2canvas.js:ํ˜•์‹:1377)
Array.map์—์„œ ()
์ƒˆ๋กœ์šด LinearGradientContainer์—์„œ(html2canvas.js:formatted:1374)
ImageLoader.loadImage์—์„œ(html2canvas.js:formatted:1256)
์ด๋ฏธ์ง€๋กœ๋”์—์„œ.(html2canvas.js:ํ˜•์‹:1227)
Array.forEach์—์„œ ()
์ด๋ฏธ์ง€๋กœ๋”์—์„œ.(html2canvas.js:ํ˜•์‹:1225)
Array.forEach์—์„œ ()
ImageLoader.findBackgroundImage์—์„œ(html2canvas.js:formatted:1219)
html2canvas.js: ํ˜•์‹:2563

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰