【问题标题】:why enabling CORS for js files by setting crossorigin= anonymous cause “blocked by CORS policy” although Access-Control-Allow-Origin exist?尽管 Access-Control-Allow-Origin 存在,为什么通过设置 crossorigin = 匿名导致“被 CORS 策略阻止”为 js 文件启用 CORS?
【发布时间】:2017-05-03 02:23:31
【问题描述】:

我们希望获得从不同域加载的 js 脚本的错误信息。 根据文档,我们在脚本标签上设置了 crossorigin= "anonymous" 属性,并且我们从我们的 js 服务器与另一个域发送 Access-Control-Allow-Origin:* 但是在某些用户中,并非所有 chrome 块都加载脚本文件为什么会发生这种情况?

来自第一个域域的主 html 页面中的脚本标记:

script type='text/javascript' src='myseconddomain.com/testscript.js' crossOrigin='anonymous'></script

并且 testscript.js 的响应标头具有“Access-Control-Allow-Origin:*”

【问题讨论】:

  • 请提供一些代码。
  • 标题Access-Control-Allow-Origin: *中是否存在空白?
  • @Quasimodo'sclone 是的,这是我的错误输入,但在实际响应标题中有一个空白,它在很多情况下都有效,但我们有一些被阻止
  • 另一个问题可能是,type='text/javascript' 被贬低了。 mimetype 现在应该是application/javascript。您的问题似乎是一些用户代理实现。
  • 这对你来说可能也很有趣:bugs.chromium.org/p/chromium/issues/detail?id=387198

标签: javascript google-chrome cors


【解决方案1】:

似乎 chrome 在不查看其 crossOrigin 属性的情况下缓存 javascript 文件存在问题,这意味着如果页面中引用了没有 crossOrigin 属性的 js 文件,然后您编辑并添加此属性 chrome 忽略它并使用其缓存版本,这会导致问题

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2019-04-26
    • 2020-12-18
    • 1970-01-01
    • 2020-03-31
    • 2019-08-09
    • 2021-07-12
    • 2019-10-02
    • 2021-01-16
    相关资源
    最近更新 更多