μλ νμΈμ
λ€μ μ½λλ₯Ό μλνμ΅λλ€ : this div "# map-canvas"contents google map.
$ ( '# map-canvas'). html2canvas ({
onrendered : function (canvas) {
var img = canvas.toDataURL ( "image / png");
window.open (img);
}
});
}
μ΄ μ½λλ₯Ό μ¬μ©νλ©΄ λΉμ§λκ° νμλ©λλ€.
Googleμ§λμ μΆλ ₯μ μ°ΎμΌμμμ€.
μ΄ λ¬Έμ λ₯Ό 극볡νλ λ°©λ²μ μλ €μ£Όμμμ€.
cors ν€λ μ ν¨κ» μ 곡λμ§ μλ ν λ€λ₯Έ μΆμ²μμλ μ΄λ―Έμ§ (μ΄ κ²½μ° Googleμ§λ νμΌ)λ₯Ό λ λλ§ ν μ μμ΅λλ€. μ΄λ₯Ό 극볡 ν μμλ ν κ°μ§ λ°©λ²μ μ΄λ―Έμ§μ νλ‘μλ₯Ό μ¬μ©νλ κ²μ λλ€.
PHP νλ‘μ μλ²λ‘ μλνμ§λ§ μ€λ₯κ° λ°μνμ΅λλ€. "Uncaught
SecurityError : 'HTMLCanvasElement'μμ 'toDataURL'μ μ€ννμ§ λͺ»νμ΅λλ€.
μ€μΌ λ μΊλ²μ€λ λ΄λ³΄λΌ μ μμ΅λλ€. "
μ΄ νλ‘μ μλ²λ₯Ό μλνμ΅λλ€.
https://github.com/brcontainer/html2canvas-php-proxy ,
μμ νλ‘μ μλ²μμ Googleμ§λ λ°©ν₯μ μ¬μ©νμ΅λλ€.
https://developers.google.com/maps/documentation/javascript/examples/directions-simple
2014 λ
12 μ 13 μΌ ν μμΌ μ€ν 11:11, Niklas von Hertzen <
[email protected]> μμ± :
μλμμλ μ΄λ―Έμ§ (μ΄ κ²½μ° Googleμ§λ νμΌ)λ₯Ό λ λλ§ ν μ μμ΅λλ€.
cors ν€λμ ν¨κ» μ 곡λμ§ μλ ν λ€λ₯Έ μΆμ²
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS.
μ΄λ₯Ό 극볡 ν μμλ ν κ°μ§ λ°©λ²μ μ΄λ―Έμ§μ νλ‘μλ₯Ό μ¬μ©νλ κ²μ λλ€.β
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ±°λ GitHubμμ νμΈνμΈμ.
https://github.com/niklasvh/html2canvas/issues/485#issuecomment -66884354
.
_HARDIK SHAH_
λλ κ°μ λ¬Έμ μ μ§λ©΄νκ³ μμ΅λλ€. μ΄μ λν ν΄κ²°μ± μ μ°Ύμμ΅λκΉ? html2canvasλ₯Ό μ¬μ©νμ¬ Googleμ§λμ μ€ν¬λ¦° μ·μ μ»κ³ μΆμ΅λλ€. λ΅μ₯μ κ°μ¬λ립λλ€.
μΆ©λ. μ λ°μ΄νΈκ° μμ΅λκΉ?
μ΅μ
μμ useCORS: true
λ₯Ό μ λ¬νλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€. λν allowTaint: false
. μ΄ κΈ°λ₯μ μ€ννλ©΄ κ·Έκ²μ λͺ¨λ νμΌμ λ³Ό μ μμ΅λλ€ ν, λΉμ μλ€μ μ μμ΅λλ€ λμμ΄ λ κ²μ΄λ€ tilesloaded
λ° μ€ν html2canvas
κ·Έλ° μΌμ΄ ν.
λλ κ°μ λ¬Έμ μ μ§λ©΄νκ³ μμ΅λλ€. μ§λ μ΅μ μμ useCORS : true λ° allowTaint : falseλ₯Ό μ¬μ©ν΄ 보μμ§λ§ λμμ΄λμ§ μμμ΅λλ€. νμ΄μ§κ°λ‘λ λ νμ λ§ ββμ€ν¬λ¦° μ·μ μ»μΌλ €κ³ ν©λλ€. λ΄κ° λμΉ κ²μ΄ μμ΅λκΉ?
Googleμ§λμ μ€ν¬λ¦° μ·μ μ°μ λλ λ¬Έμ κ° λ°μν©λλ€.μ΄ μ€λ₯κ° λ°μν©λλ€.
ERROR Error: Uncaught (in promise): InvalidStateError: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.
Error: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.
at CanvasRenderer.<anonymous> (html2canvas.js:6289)
at step (html2canvas.js:83)
at Object.next (html2canvas.js:64)
at fulfilled (html2canvas.js:54)
at ZoneDelegate.invoke (zone-evergreen.js:365)
at Object.onInvoke (core.js:39698)
at ZoneDelegate.invoke (zone-evergreen.js:364)
at Zone.run (zone-evergreen.js:124)
at zone-evergreen.js:851
at ZoneDelegate.invokeTask (zone-evergreen.js:400)
at resolvePromise (zone-evergreen.js:793)
at resolvePromise (zone-evergreen.js:752)
at zone-evergreen.js:854
at ZoneDelegate.invokeTask (zone-evergreen.js:400)
at Object.onInvokeTask (core.js:39679)
at ZoneDelegate.invokeTask (zone-evergreen.js:399)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:570)
at invokeTask (zone-evergreen.js:485)
at ZoneTask.invoke (zone-evergreen.js:470)
μ λ°, μ΄κ²μ λ§€μ° μ€μν©λλ€.
κ°μ₯ μ μ©ν λκΈ
μ΅μ μμ
useCORS: true
λ₯Ό μ λ¬νλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€. λνallowTaint: false
. μ΄ κΈ°λ₯μ μ€ννλ©΄ κ·Έκ²μ λͺ¨λ νμΌμ λ³Ό μ μμ΅λλ€ ν, λΉμ μλ€μ μ μμ΅λλ€ λμμ΄ λ κ²μ΄λ€tilesloaded
λ° μ€νhtml2canvas
κ·Έλ° μΌμ΄ ν.