Este script permite utilizar html2canvas.js con diferentes servidores, puertos y protocolos (http, https), evitando que se produzca "contaminación" al exportar el <canvas>
para la imagen.
No utiliza ASP Classic, pero necesita que html2canvas funcione con el proxy; consulte otros servidores proxy:
Al agregar una imagen que pertenece a otro dominio en <canvas>
y luego intentar exportar el lienzo para una nueva imagen, ocurre un error de seguridad (en realidad ocurre es un bloqueo de seguridad), que puede devolver el error:
Error de seguridad: excepción DOM 18
Error: se intentó violar la política de seguridad del agente de usuario.
Te pido que me sigas o destaques mi repositorio para seguir las actualizaciones.
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " >
< title > html2canvas asp (vbscript) proxy </ title >
< script src =" html2canvas.js " > </ script >
< script >
//<![CDATA[
( function ( ) {
window . onload = function ( ) {
html2canvas ( document . body , {
"logging" : true , //Enable log (use Web Console for get Errors and Warings)
"proxy" : "html2canvasproxy.asp" ,
"onrendered" : function ( canvas ) {
var img = new Image ( ) ;
img . onload = function ( ) {
document . body . appendChild ( img ) ;
} ;
img . error = function ( ) {
if ( window . console . log ) {
window . console . log ( "Not loaded image from canvas.toDataURL" ) ;
} else {
alert ( "Not loaded image from canvas.toDataURL" ) ;
}
} ;
img . src = canvas . toDataURL ( "image/png" ) ;
}
} ) ;
} ;
} ) ( ) ;
//]]>
</ script >
</ head >
< body >
< p >
< img alt =" google maps static " src =" http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=800x600&maptype=roadmap&sensor=false " >
</ p >
< p >
< img alt =" facebook image redirect " src =" https://graph.facebook.com/1415773021975267/picture " >
</ p >
</ body >
</ html >
Si tiene algún problema con el script, le recomendamos analizar el registro utilizando la consola web de su navegador:
Obtenga resultados de red:
Una alternativa es diagnosticar problemas al acceder al enlace directamente:
http://[DOMAIN]/[PATH]/html2canvasproxy.php?url=http%3A%2F%2Fmaps.googleapis.com%2Fmaps%2Fapi%2Fstaticmap%3Fcenter%3D40.714728%2C-73.998672%26zoom%3D12%26size%3D800x600%26maptype%3Droadmap%26sensor%3Dfalse%261&callback=html2canvas_0
Reemplace [DOMAIN]
por su dominio (por ejemplo, 127.0.0.1) y reemplace [PATH]
por la carpeta de su proyecto (por ejemplo, proyecto-1/prueba), algo como:
http://localhost/project-1/test/html2canvasproxy.php?url=http%3A%2F%2Fmaps.googleapis.com%2Fmaps%2Fapi%2Fstaticmap%3Fcenter%3D40.714728%2C-73.998672%26zoom%3D12%26size%3D800x600%26maptype%3Droadmap%26sensor%3Dfalse%261&callback=html2canvas_0