【问题标题】:why does chrome not send cookies from a webworker?为什么 chrome 不从 webworker 发送 cookie?
【发布时间】:2016-02-02 13:12:53
【问题描述】:

我在域 A 上有一个页面,它从域 B 加载 webworker 脚本。webworker 正在从域 A 的服务器获取一些 PNG。

  • 在 Firefox 中,获取 PNG 的请求包含我的网站(域 A)的 cookie。

  • 在 Chrome 中,它不包含我网站的 cookie,因此失败,因为请求必须来自已登录的用户(这需要在请求中发送会话 cookie)。

哪个浏览器的行为正确,我可以做些什么来让 Chrome 从网络工作者中发送当前域的 cookie?

更新:

我从域 B 中提取了所有文件并将它们托管在域 A 的服务器上,因此 webworker 文件现在与站点本身位于同一域中,但 Chrome 仍然没有发送会话 cookie 以及来自网络工作者。

【问题讨论】:

    标签: google-chrome firefox cookies web-worker


    【解决方案1】:

    关于第一个问题,Firefox 似乎不正确,您应该无法在另一个域上实例化 Worker 以引用 the spec

    "如果worker URL的scheme组件不是"data",则源 工作人员 URL 与现任者指定的来源不同 settings 对象,然后抛出 SecurityError 异常并中止这些 步骤。”

    关于 Chrome,Workers 单独运行,他们为我工作,如果没有看到更多代码,很难回答。但是,如果您访问此demo 并在 postMessage 之前中断工作集 document.cookie='test=1',您将看到当请求从工作人员发出时,它已设置。

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2018-05-23
      • 2022-08-05
      • 1970-01-01
      • 2012-02-10
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多