js设置不了cookie

js设置不了cookie,第1张

本地单纯的一个html文件(没有服务器归属)在谷歌浏览器中cookie无效,其它浏览器好像都可以正常读写的,如果你确定cookiejs没有问题的话,注意一下id是不是重复了(你上面的代码就出现了id重复),还有body不是在head里面的

使用js检测Cookie的话,可以让js执行定时任务,定期检测,我给你写段代码

方法一://使用jquery的cookie方法,之前必须引入jquerycookiejs文件,在网上可以下载到

//每隔1秒,执行cookie检测函数

setTimeout("checkCookie()",1000);

//检测cookie函数,如果cookie为空则跳转到登陆页

function checkCookie() {

   if($cookie("qqlogin") == "" || $cookie("qqlogin") == null) {

        windowlocationhref = "loginhtml";

   }

}

方法二:使用js获取cookie

//定义一个函数,用来读取特定的cookie值

function getCookie(cookie_name) {

    var allcookies = documentcookie;

    var cookie_pos = allcookiesindexOf(cookie_name);   //要获取COOKIE的索引长度  

    

    //如果找到了索引,就代表cookie存在,

    //反之,就说明不存在。  

    if (cookie_pos == '') {

       windowlocationhref = "loginhtml";

    }

}  

// 调用函数

//每隔1秒,执行cookie检测函数

setTimeout("getCookie('getCookie')",1000);

注:方法二未经测试。

正常情况下,浏览器禁止跨域获取cookie

一般通过sso服务可以实现取得跨域cookie,思路如下:

域A页面访问位于域A的服务器,对权限进行验证

域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)

域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分

页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie

以上就是关于js设置不了cookie全部的内容,包括:js设置不了cookie、求一段JS代码实时检测Cookies、如何用js实现跨域获取cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10148111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存