我正在研究this SoundCloud音乐流媒体服务。
当您输入时,我向SC发出请求以获取一些值以设置音乐播放器。它适用于Chrome和Firefox,但Safari(在Mac和iPhone上)都会在控制台上返回这些错误:
[Error] Failed to load resource: Request header field Accept-Encoding is not allowed by Access-Control-Allow-Headers. (208248726.json, line 0)
[Error] XMLHttpRequest cannot load https://api.soundcloud.com/tracks/208248726.json?client_id=55c6772672dd77c1147fc334e0d5ed83. Request header field Accept-Encoding is not allowed by Access-Control-Allow-Headers. (www.viberaid.com, line 0)
据我了解,Safari没有设置Accept-Encoding存在问题,所以我找到了这段代码并将其放入我的.htaccess中:
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
还有:
<IfModule mod_headers.c>
Header append Vary: Accept-Encoding
</IfModule>
但两个都没有工作,我从浏览器得到相同的响应。我发现this guy只有与我完全相同的问题,但还没有回复。谁知道会出现什么问题?我是一个很新手编辑htaccess并对此知之甚少,所以我会喜欢ELI5答案:)
只是为了解决这个问题,它是一个使用JPlayer的Wordpress,用他们自己的API来流式传输来自SC的音乐。