我正在使用脚手架站点和静态子域来提供我的静态文件。静态文件是使用 Javascript 游戏中的显式 url 请求的,我使用我的 yesod 应用程序提供服务(使用 Phaser 框架编写)。
来自 Javascript 控制台的示例错误消息如下:
Phaser.Loader error loading file: player1_icon from URL http://example.com/static/games/mygame/images/player1/icon.png
Image from origin 'http://example.com' has been blocked from loading by Cross-Origin Resource Sharing policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
一些研究表明,addHeader "Access-Control-Allow-Origin" "*"
在处理函数中添加该行可以解决这个问题。但是静态路由不使用处理函数,所以我不知道我会把它放在哪里。
任何帮助将不胜感激。