即使是cors也启用了跨源getSVGDocument()

时间:2017-03-25 06:40:33

标签: javascript html svg cors cross-domain

我在尝试访问svg文件的内容时遇到错误,如果svg文件是从其他服务器提供的,即使该服务器发送access-control-allow-origin:*标题

这是svg对象的html代码:

<object id="idSvg" data="http://cdnserver.com/file.svg" type="image/svg+xml"></object>

这是我收到错误的代码:

jQuery('#idSvg')[0].addEventListener('load', function() {

    var doc = this.getSVGDocument(); // <-- error comes here

这是错误:

  

DOMException:无法执行&#39; getSVGDocument&#39;上   &#39; HTMLObjectElement&#39;:阻止了一个有起源的框架&#34; http://example.com&#34;   从访问跨源框架。

     

在HTMLObjectElement。 (http://example.com

这是cdnserver.com提供的svg文件的标头

access-control-allow-origin:*
cache-control:max-age=604800
content-encoding:gzip
content-type:image/svg+xml
date:Sat, 25 Mar 2017 05:58:30 GMT
expires:Sat, 01 Apr 2017 05:58:30 GMT
last-modified:Sun, 22 Jan 2017 08:53:52 GMT
server:keycdn-engine
status:200
vary:Accept-Encoding
x-cache:MISS
x-edge-location:defr

当cdn服务器使用cors标头提供文件时,为什么会出现错误?

修改

example.com是我工作的服务器。

cdnserver.com是提供文件的服务器。

0 个答案:

没有答案