Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
504 views
in Technique[技术] by (71.8m points)

window.open()打开的跨域页面,能否通过js写入cookie?

代码如下,我执行该逻辑理想状态下直接进入 this.formData.url ;而实际上在登录页被挡住了,查看过页面的cookie,并没有我设置的token

this.formData.urlhttps://200.200.5.5这种格式。

token已验证过是正确的,试过手动在网站通过js添加cookie然后刷新,可行

之前有人实现过该功能,代码雷同,不知道是不是我姿势不对

async login () {
    let token = await this.getToken();

    if (!token) {
        return;
    }

    console.log(token);
    // token=TEllnRx61o7yixQ8icuis7frmzvZWF/x
    
    document.cookie = `${token}; path=/; domain=${this.formData.url}; expires=${new Date().getTime() + (1000 * 60)};`;
    
    let newWin = window.open();
    newWin.location.href = this.formData.url;
},

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

写入 cookie 时域名是受限的,你只能在当前域写入 cookie,请求的时候浏览器会自动从当前域获取 cookie 并发送,所以你不能操作其它域的 cookie,怎么操作都不行。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...