我使用 html2canvas(来自 html2canvas.hertzen.com)来捕获屏幕截图。我收到这样的奇怪错误:
我的网页代码放在一台主机上,比如说主机A。
如果我的网页包含另一台主机(例如主机 B)上的图像,那么我会遇到此错误:
跨源资源共享策略拒绝跨源图像加载
然而,令人困惑的部分是,如果主机 B 是 facebook(我的图片是 facebook 的直接链接)https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372701_100000684388457_1551561655_q.jpg)然后错误消失。
我的功能
html2canvas([document.body], {
useCORS : true,
logging : true,
onrendered : function(canvas) {
document.body.appendChild(canvas);
var myImage = canvas.toDataURL("image/png");
window.open(myImage);
}
有人有提示吗?塔克斯
解决方案
html2canvas([document.body], {
useCORS: true,
proxy: "Server",
onrendered : function(canvas) {
ListUCapture = canvas.toDataURL("image/png");
}
});
Server is server of node.js
如果您希望将跨源图像加载到画布上,则需要使用跨源标头或在同一源下提供图像。 Facebook 下的该图像带有以下标头选项集:
Access-Control-Allow-Origin:*
意思是,它可以跨域加载useCORS
选项。但是,您的主机 B 似乎没有为它们提供跨域标头设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)