是否可以将 cookie 附加到脚本标签?
Is it possible to attach cookie to script tag?
我正在通过动态添加脚本标签获取一个脚本。返回的脚本内容根据用于获取脚本的 GET 请求中的某个 cookie(例如,server
)的值而有所不同。
我知道 <script>
的 GET 请求会自动携带浏览器中设置的所有(允许的)cookie。我可以在代码中向此请求添加一些我自己的 cookie 值吗?
我使用的代码与此类似:
const script = document.createElement("script");
script.src = 'https://example.com/script';
script.onload = () => console.log("Loaded!");
document.body.appendChild(script);
如果您在 .src 语句之前更改 cookie,它将发送到服务器 IIF 服务器与加载页面的位置相同。
无论您是否可以从域 B 加载脚本,都不能在域 A 上设置发送到域 B 的 cookie
注意:正确的顺序是这样的——总是在设置任何东西的 src 之前设置负载处理程序;服务器可以在读取下一条语句之前用文件响应。
另外,我们通常会将脚本附加到头部。这也将在页面加载后起作用。
// change cookie here
const script = document.createElement("script");
script.onload = () => console.log("Loaded!");
// or change cookie here
script.src = 'https://example.com/script';
document.querySelector("head").appendChild(script);
我正在通过动态添加脚本标签获取一个脚本。返回的脚本内容根据用于获取脚本的 GET 请求中的某个 cookie(例如,server
)的值而有所不同。
我知道 <script>
的 GET 请求会自动携带浏览器中设置的所有(允许的)cookie。我可以在代码中向此请求添加一些我自己的 cookie 值吗?
我使用的代码与此类似:
const script = document.createElement("script");
script.src = 'https://example.com/script';
script.onload = () => console.log("Loaded!");
document.body.appendChild(script);
如果您在 .src 语句之前更改 cookie,它将发送到服务器 IIF 服务器与加载页面的位置相同。
无论您是否可以从域 B 加载脚本,都不能在域 A 上设置发送到域 B 的 cookie
注意:正确的顺序是这样的——总是在设置任何东西的 src 之前设置负载处理程序;服务器可以在读取下一条语句之前用文件响应。
另外,我们通常会将脚本附加到头部。这也将在页面加载后起作用。
// change cookie here
const script = document.createElement("script");
script.onload = () => console.log("Loaded!");
// or change cookie here
script.src = 'https://example.com/script';
document.querySelector("head").appendChild(script);