javascript - Microsoft Edge 不接受匿名跨域?
问题描述
在 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
解决方案
推荐阅读
- apache - Apache 限制:记分牌已满,不在 MaxRequestWorkers.Increase ServerLimit
- python - 终端无法从 https://pypi.python.org/simple/sh/ 下载
- flutter - 制作圆形边框装饰
- android - 我的应用程序的用户 ID 评论部分正在检索覆盖各处的 Fire-base 存储链接,并且评论员的图像未显示
- java - 如何将 Oracle 日期格式转换为 Java?
- pandas - 如何在 spark sql 查询中使用熊猫列表
- google-apps-script - 抱歉...关于表单提交触发器的另一个问题
- javascript - 销毁创建的未添加到 DOM 的 HTMLElement
- c# - 使用 Linq 构建和过滤笛卡尔积集合(自定义对象)
- python - 可选参数装饰器