在Facebook Instant Games平台上,您可以使用以下代码加载用户的照片:
var playerImage = new Image();
playerImage.crossOrigin = 'anonymous';
playerImage.src = FBInstant.player.getPhoto();
绕过CORS要求将crossOrigin属性设置为匿名,这是官方Instant Games文档建议的。
这适用于除Microsoft Edge以外的所有浏览器,该浏览器会引发类似于以下内容的错误:
原点在Access-Control-Allow-Origin中找不到xxx 跨域图像资源的响应标头
这是可修复的,还是我们应该告诉用户使用其他浏览器?我们收到了很多抱怨人们无法玩游戏某些部分并且所有人似乎都在使用Edge的消息。很想只检测Edge并显示一条消息,告诉他们在此阶段使用Chrome。
请求个人档案图像时服务器的响应:
access-control-allow-origin: *
cache-control: max-age=1209600, no-transform
content-disposition: attachment
content-length: 12954
content-type: image/jpeg
date: Thu, 14 Feb 2019 12:45:52 GMT
last-modified: Tue, 25 Apr 2017 21:24:05 GMT
status: 200
x-fb-config-version-olb-prod: 449
x-haystack-needlechecksum: 821392244