首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨域资源共享策略拒绝跨域镜像加载

跨域资源共享策略拒绝跨域镜像加载
EN

Stack Overflow用户
提问于 2013-08-01 17:50:45
回答 1查看 11.6K关注 0票数 2

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

然而,令人困惑的是,如果主机B是facebook (我的图片是facebook https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372701_100000684388457_1551561655_q.jpg的直接链接),那么错误就会消失。

我的函数

代码语言:javascript
运行
复制
html2canvas([document.body], {
                    useCORS : true,
                    logging : true,
                    onrendered : function(canvas) {
                        document.body.appendChild(canvas);
                        var myImage = canvas.toDataURL("image/png");
                        window.open(myImage);
                    }

有没有人有线索?Tks

解决方案

代码语言:javascript
运行
复制
 html2canvas([document.body], {
                                    useCORS: true,
                                    proxy: "Server",
                                    onrendered : function(canvas) {                               
                                        ListUCapture = canvas.toDataURL("image/png");                                                           
                                    }
                     });
Server is server of node.js
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-11 20:12:20

如果您希望将跨域图像加载到画布上,则需要使用跨域headers或在同一源下为图像提供服务。Facebook下的图像设置了以下头选项:

Access-Control-Allow-Origin:*

也就是说,它可以使用useCORS选项跨区域加载。但是,您的主机B似乎没有为它们提供设置了跨域标头的服务。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17990678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档