CORS图像加载

时间:2014-04-17 06:00:40

标签: javascript google-chrome-extension cross-domain cors

我有一个扩展程序,可以在页面上创建一个跨域iframe。然后,用户可以在页面上选择图像,并将它们复制到iframe中。我这样做的方法是复制图像上的所有属性(类,样式,src等),添加" crossorigin =' anonymous'",然后创建图像,像这样:

        //obj contains all of the DOM properties from the original image tag
        var src;
        if (obj.nodeType === 1 && obj.tagName) {
            if (obj.attributes) {
                //Check for cross-origin
                src = obj.attributes.src ? 'src' : (obj.attributes.href ? 'href' : null);
                if (src) {
                    obj.attributes[src] = obj.attributes[src] + '?dummy=232';
                    if (obj.attributes.crossorigin) { delete obj.attributes.crossorigin; }
                    node.setAttribute('crossorigin', 'anonymous');
                }
                for (var a in obj.attributes) {
                    node.setAttribute(a, obj.attributes[a]);
                }
            }
        }

但是,我仍然收到以下错误:

来自原作的图片' http://www.slate.com'已被跨源资源共享策略阻止加载:No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源&#t; ttp:// localhost'因此不允许访问。

为了记录,here is the article I'm using for testing at the moment(我试图复制两个滑雪女孩的第一张图片)。这个错误是否意味着Slate已经阻止了服务器端的所有跨源图像加载,并且我在另一个框架中加载该图像时我是SOL?

0 个答案:

没有答案