CORS请求无法在Chrome中使用

时间:2016-12-09 21:16:48

标签: javascript .htaccess google-chrome cors

我知道之前已经问过这个问题,我已经阅读/尝试了所有这些问题。 我需要对存储在不同域上的mp3文件执行createMediaElementSource以进行可视化。我在Safari和Edge中运行良好但在Chrome中运行不正常(关于FireFox的dunno)。问题是如果我使用:

从跨源源创建元素
var audioSrc = ctx.createMediaElementSource(cfg.audio);

... cfg.audio是跨域的,Chrome给了我:

MediaElementAudioSource outputs zeroes due to CORS access restrictions

但我在.htaccess中有(除其他事项外):

Header set Access-Control-Allow-Origin: "http://the-correct-domain.com"

我已经检查了webconfs.com网站上的标题并且正在获取:

HTTP/1.1 200 OK => 
Date => Fri, 09 Dec 2016 20:52:17 GMT
Server => Apache
Last-Modified => Thu, 27 Jun 2013 20:55:40 GMT
ETag => "2d60fc-4e028fc23173e"
Accept-Ranges => bytes
Content-Length => 2973948
Access-Control-Allow-Origin => http://the-correct-domain.com
Access-Control-Allow-Credentials => false
Access-Control-Allow-Methods => ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers => Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-modified-Since, X-File-Name, Cache-Control, location, Lock-Token
Connection => close
Content-Type => audio/mpeg

(我从一个简单的Access-Control-Allow-Origin:“*”开始,并从那一点添加了垃圾)。 该脚本使用本地mp3文件工作正常,我尝试从HERE添加PHP voodoo无济于事。我哪里出错?

1 个答案:

答案 0 :(得分:1)

最后得到它,感谢this post。我将脚本从audio.crossOrigin = 'Anonymous'更改为audio.crossOrigin = 'use-credentials',一切都很顺利。你是我的英雄pdg137