2013-08-01 113 views
2

我使用html2canvas(来自html2canvas.hertzen.com)来捕获屏幕截图。我得到这样的奇怪的错误: 我的网页的代码被放在一个主机上,说主机A. 如果我的网页包含另一主机上的图像,说主机B,然后我打这个错误: 跨源图像负载被跨源资源共享策略拒绝跨源资源共享策略拒绝的跨源图像加载

但令人困惑的是,如果主机B是脸书(我的图片是直接链接到脸书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); 
        } 

任何人都得到小费了吗? TKS

解决方案

html2canvas([document.body], { 
            useCORS: true, 
            proxy: "Server", 
            onrendered : function(canvas) {        
             ListUCapture = canvas.toDataURL("image/png");               
            } 
        }); 
Server is server of node.js 

回答

3

如果你想跨域图像加载到一个画布,你需要或者服务具有跨来源页眉或相同的起源下的图像。 Facebook的下这种形象被送达下列头选项设置:

Access-Control-Allow-Origin:*

意义,它可以跨来源装有useCORS选项。但是,看起来您的主机B并未使用跨源标头集来提供它们。

+0

嗨Nklas,你的答复tks,我会尝试现在。 – HoangHieu

相关问题