【问题标题】:How to solve cross domain security error. in html 5 when using Canvas.getImageData如何解决跨域安全错误。在 html 5 中使用 Canvas.getImageData
【发布时间】:2012-09-13 19:06:05
【问题描述】:

我在使用来自亚马逊的图片时遇到了跨域问题。我尝试使用 Canvas.getImageData 函数,但存在安全问题。当我将它设置为 img.crossOrigin = 'anonymous' 但即 9 时,它可以在 firefox 上运行,但 safari 和 chrome 无法正常工作。

除了使用 img.crossOrigin 来解决安全问题之外,还有其他方法可以解决这个问题吗?除了使用代理方法之外,还能用其他方式解决吗?

【问题讨论】:

  • 你想达到什么目标,你的目标是什么?
  • 我想通过getImageData来获取图片的数据。

标签: html canvas cross-domain getimagedata


【解决方案1】:

为了避免同源策略,您可以在服务器上使用代理,将图像下载到您的服务器,然后通过同源访问它,我认为这是最好的解决方案

【讨论】:

  • 是的,我知道,但这会很慢。
【解决方案2】:

您是否使用签名的 url 来访问图像?

您是否在 Amazon 服务器上正确配置了 CORS?

【讨论】:

  • 那么它应该也可以在其他浏览器上运行!您检查过 HTTP 请求的结果吗?我猜你使用的是 Amazon S3 对吧?
  • 是的,我是。对于 chrome,设置 crossOrigin 时我什至无法加载图像。一篇文章说我们可以通过使用three.js 来修复网站。不过我没试过。
  • 它确实适用于野生动物园,即如果我只有 1 个图像加载。超过 1 张图片无效。
  • 你还没有回答我的第一个问题,你使用的是签名网址吗?
  • 是的,我已经将 * 用于 AllowedAccessOrigin 和 post get 方法。这种情况下应该允许任何域都不是
猜你喜欢
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
  • 2010-10-25
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
相关资源
最近更新 更多