首页 > 代码库 > Js跨一级域名同步cookie
Js跨一级域名同步cookie
1. 纯Js同步两个域名下的cookie
document.cookie = "name=" + "value;" + "expires=" + "datatime;" + "domain=" + "" + "path=" + "/path" + "; secure";
//name Cookie名字
//value Cookie值
//expires 有效期截至(单位毫秒)
//path 子目录
//domain 有效域
//secure 是否安全
拿淘宝与天猫举例,淘宝登录后跳转到天猫页面,天猫页面有一个iframe,请求任意页面
<iframe src=http://www.mamicode.com/‘http://localhost:14373/test/Index‘ width=‘100‘ height=‘100‘ style="display:none"></iframe>
淘宝页面中js获取当前页面的cookie并作为参数跳转回天猫页面
window.location = "http://localhost:20272/GetCookie/Index?" + document.cookie;
天猫页面获取url中的地址并将cookie写入本域名下
var url = window.location.toString();//获取地址 var get = url.substring(url.indexOf("liuph"));//获取变量和变量值 var idx = get.indexOf("=");//获取变量名长度 if (idx != -1) { var name = get.substring(0, idx);//获取变量名 var val = get.substring(idx + 1);//获取变量值 setCookie(name, val, 1);//创建Cookie }
2. 经过后台处理同步cookie
天猫页面直接请求淘宝的后台方法
$.ajax({ type: "GET", dataType: ‘jsonp‘, jsonp: ‘jsonp_callback‘, url: ‘http://localhost:14373/test/GetString?cookie=?‘, success: function (da) { alert(da.name + "|" + da.value); }, error: function (){ alert("ERROR"); }});
淘宝后台代码
public void GetString(){ HttpCookie cookie = Request.Cookies["liuph"]; var response = HttpContext.Response; response.ContentType = "text/json"; string str = Request.QueryString["cookie"];//JS接受变量名 response.Write(str + "({\"name\":" + "\"" + cookie.Name + "\"" + ",\"value\":" + "\"" + cookie.Value + "\"})");//返回数据}
ok,同步结束
Js跨一级域名同步cookie
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。