为什么chrome不会从网络工作者发送cookie?

时间:2015-11-02 15:33:05

标签: google-chrome firefox cookies web-worker

我在域A上有一个页面,它从域B加载一个webworker脚本。网络工作者从doman A的服务器获取一些png,在firefox中获取png的请求在chrome中包含我的网站(域A)的cookie,它不包含我网站的cookie,因此失败,因为请求必须来自登录用户,这需要在请求中发送会话cookie。哪个浏览器行为正常,我可以做任何事情让Chrome从网络工作者中发送当前域的cookie吗?

更新:

我从域B中提取了所有文件并将其托管在域A的服务器上,因此webworker文件现在与网站本身位于同一个域中,但问题仍然存在,Chrome仍然不会发送会话cookie根据网络工作者的要求。

1 个答案:

答案 0 :(得分:1)

关于第一个问题,看起来Firefox不正确,你不应该在另一个域上实例化一个Worker引用the spec

  

“如果工作者URL的方案组件不是”数据“,则为原点   工作人员URL与现任者指定的来源不同   设置对象,然后抛出SecurityError异常并中止这些   步骤“。

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