window.open 携带cookie
时间: 2024-06-21 07:00:17 浏览: 405
`window.open()` 是 JavaScript 中的一个内置方法,用于在浏览器中打开一个新的窗口或标签页。如果你想在新开窗口中传递cookies,这通常涉及到两个步骤:设置cookies和在新窗口加载时读取它们。
1. 设置cookies:
在调用 `window.open()` 之前,你可以使用 `document.cookie` 或者 `setCookie()` 函数(如果有的话,因为这通常是第三方库提供的)来设置cookies。例如:
```javascript
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toUTCString();
}
document.cookie = name + '=' + (value || '') + expires + '; path=/';
}
setCookie('myCookie', 'cookieValue', 7); // 设置一个有效期为7天的cookie
```
2. 新窗口读取cookies:
新窗口在加载时并不能直接访问父窗口的cookies,因为同源策略(Same-Origin Policy)限制了不同源之间的cookies通信。但如果你是在同源情况下新开窗口,或者使用了某些浏览器支持的技术(如Service Worker或Web Storage API),你可以尝试获取cookies。
如果你需要在不同窗口之间共享cookies,一个常见的做法是通过URL参数、local storage、session storage或者服务器端进行数据交换。
阅读全文