สคริปต์นี้อนุญาตให้คุณใช้ html2canvas.js กับเซิร์ฟเวอร์ พอร์ต และโปรโตคอลที่แตกต่างกัน (http, https) เพื่อป้องกันไม่ให้เกิด "เสีย" เมื่อส่งออก <canvas>
สำหรับรูปภาพ
คุณไม่ได้ใช้ ASP Classic แต่ต้องการ html2canvas ที่ทำงานกับพร็อกซี โปรดดูพร็อกซีอื่น:
เมื่อเพิ่มรูปภาพที่เป็นของโดเมนอื่นใน <canvas>
และหลังจากนั้นพยายามส่งออกแคนวาสสำหรับรูปภาพใหม่ เกิดข้อผิดพลาดด้านความปลอดภัย (เกิดขึ้นจริงคือการล็อคความปลอดภัย) ซึ่งสามารถส่งคืนข้อผิดพลาดได้:
ข้อผิดพลาดด้านความปลอดภัย: ข้อยกเว้น DOM 18
ข้อผิดพลาด: มีการพยายามที่จะฝ่าฝืนนโยบายความปลอดภัยของตัวแทนผู้ใช้
ฉันขอให้คุณติดตามฉันหรือ "ติดดาว" พื้นที่เก็บข้อมูลของฉันเพื่อติดตามการอัปเดต
<!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 >
หากคุณมีปัญหากับสคริปต์ แนะนำให้วิเคราะห์บันทึกโดยใช้เว็บคอนโซลจากเบราว์เซอร์ของคุณ:
รับผลลัพธ์เครือข่าย:
อีกทางเลือกหนึ่งคือการวินิจฉัยปัญหาในการเข้าถึงลิงก์โดยตรง:
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
แทนที่ [DOMAIN]
ด้วยโดเมนของคุณ (เช่น 127.0.0.1) และแทนที่ [PATH]
ด้วยโฟลเดอร์โครงการของคุณ (เช่น project-1/test) เช่น:
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