小编F. *_*inn的帖子

请求es2015模块文件时Safari不包含cookie

我的网络服务器要求在提供任何文件(包括.js文件)之前必须先提供身份验证cookie。

由于更新了我的网站之一以在<script type="module">标签中提供es2015模块,因此Safari不会与该文件的请求一起发送身份验证cookie。它可以在Chrome中按预期运行。

Safari中是否有行为阻止js模块请求上的cookie?我可以回滚到不支持模块以恢复服务,但是对于支持它们的浏览器,则失去模块的好处。

<script src="module.js" type="module"></script>
<script src="legacy.js" nomodule></script>
---
<script src="legacy.js"></script>
Run Code Online (Sandbox Code Playgroud)

在请求js文件的页面的服务器响应标头中设置了第一方Cookie。当出现前两个脚本标签时,Safari不会像预期的那样请求module.js而不是legacy.js,但是该请求不包含任何cookie。如果改为使用第三个脚本标签,则Safari会请求legacy.js,包括带有该请求的cookie。

有没有办法让Safari发送带有模块请求的cookie?其他浏览器会采用Safari的行为吗?ECMAScript 6规范是否以一种或另一种方式在此处规定了行为?

cookies safari ecmascript-6

6
推荐指数
1
解决办法
164
查看次数

标签 统计

cookies ×1

ecmascript-6 ×1

safari ×1