假设a站想往b站写cookie,那么目前有两种方案,参考如下:

第一种(使用jsonp):

a站js代码如下:

 $.ajax({
url: 'http://www.b.com/jsonp.jsp?domain=.b.com&value=123',
async: false,
dataType: 'jsonp',
jsonp:'callback',
jsonpCallback:"success_jsonpCallback",
success: function(result){
console.log('result======' + result.info);
},
error: function(result){
console.log('fail');
}
});

b站jsp代码如下:

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%
String domain = request.getParameter("domain");
String value = request.getParameter("value");
String callback = request.getParameter("callback");
// 设置 name 和 url cookie
Cookie name = new Cookie("test", value); // 设置cookie过期时间为24小时。
name.setMaxAge(60*60*24);
name.setPath("/");
name.setDomain(domain);
// 在响应头部添加cookie
response.addCookie( name );
out.write( callback + "({\"info\":\"success\"})");
%>

第二种方案:

a站页面代码:

 <html>
<head>
<meta charset="utf-8">
<title>a站页面</title>
</head>
<body>
<div>
<div>
<button id = "set_cookie_btn" type="button" >写cookie</button>
</div>
<div>
<button id = "syn_cookie_btn" type="button" >同步cookie</button>
</div>
<div id="cookie_iframe">
</div>
<script src="jquery-3.2.1.min.js"></script>
<script>
(function(){
function init(){
console.log(window.location);
$('#set_cookie_btn').click(setCookie);
$('#syn_cookie_btn').click(synCookie);
} /**
* 写测试cookie
*/
function setCookie(){
document.cookie= "test=123;path=/;domain=.b.com";
} function synCookie(){
//<iframe src='http://www.b.com/setCookies.html?p=123' width='100' height='100' style="display:none"></iframe>
var value = getCookie("test");
var src = "http://www.b.com/setCookies.html?test="+value;
var iframeInfo = "<iframe src= "+src+" width='100' height='100' style='display:none'></iframe>";
$('#cookie_iframe').html(iframeInfo);
} function getCookie(cname){
var _cookies = document.cookie.split(";");
var _ran = "";
for (var i = 0; i < _cookies.length; i++) {
var _cookie = _cookies[i];
if (_cookie.split("=")[0].trim() == cname) {
_ran = _cookie.substring(_cookie.indexOf("=")+1).trim();
break;
}
}
return _ran;
}
init();
})();
</script> </body>
</html>

b站页面代码:

 <html>
<head>
<meta charset="utf-8">
<title>b站页面</title>
</head>
<body>
<script src="jquery-3.2.1.min.js"></script>
<script>
var url = location.href;
var get = url.substring(url.indexOf("test"));//获取变量和变量值
var idx = get.indexOf("=");//获取变量名长度
if (idx != -1) {
var name = get.substring(0, idx);//获取变量名
var val = get.substring(idx + 1);//获取变量值
setCookie(name, val,".b.com");//创建Cookie
}
</script>
</body>
</html>

跨域写cookie的更多相关文章

  1. PHP 跨域写cookie

    实际工作中,类似这样的要求很多,比如说,我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是PASSPORT的功能. 我只写一个大概,为了测试的方便,先编辑hosts文件,加 ...

  2. CP="CAO PSA OUR" 用P3P header解决iframe跨域访问cookie

    1.IE浏览器iframe跨域丢失Session问题 在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的因此,网上 ...

  3. SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

    最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jquery ajax跨 ...

  4. 通过设置P3P头来实现跨域访问COOKIE

    通过设置P3P头来实现跨域访问COOKIE 实际工作中,类似这样的要求很多,比如说,我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是PASSPORT的功能. 我只写一个大 ...

  5. 跨域共享cookie和跨域共享session

    转载自:http://blog.csdn.net/ahhsxy/article/details/7356128 这里所说的跨域,是指跨二级域名,而且这些域名对应的应用都在同一个app上, 比如我有以下 ...

  6. 京东商城跨域设置Cookie实现SSO单点登陆过程

    可以先看下这边文章:http://blog.chinaunix.net/uid-25508399-id-3431705.html   1.点击首页的登陆按钮跳转到京东的登陆中心https://pass ...

  7. 跨域共享cookie

    1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息.Cookie还有一些附加信息,比如域名.有效时间.注释等等. 下面 ...

  8. PHP 通过设置P3P头来实现跨域访问COOKIE

    CentOS的系统(Linux 内核) 编辑HOST vi /etc/hosts 加入127.0.0.1 www.a.com127.0.0.1 www.b.com 首先:创建 a_setcookie. ...

  9. 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法

    单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...

随机推荐

  1. php 获取当前完整url地址

    echo $url = $_SERVER["REQUEST_SCHEME"].'://'.$_SERVER["SERVER_NAME"].$_SERVER[&q ...

  2. ruby on rails 环境搭建(mac or ubuntu)

    环境配置前操作 mac: app_store安装x-code ubuntu: 终端->配置文件->首选项->命令->以shell方式登录 安装RVM mac: $ ruby - ...

  3. 爬虫常用的 urllib 库知识点

    urllib 库 urllib 库是 Python 中一个最基本的网络请求库.它可以模仿浏览器的行为向指定的服务器发送请求,同时可以保存服务器返回的数据. urlopen() 在 Python3 的 ...

  4. skyline画折现bug代码

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>加 ...

  5. 93. Balanced Binary Tree [easy]

    Description Given a binary tree, determine if it is height-balanced. For this problem, a height-bala ...

  6. 20155202 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155202 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 使用JDK编译.运行简单的java程序 命令行下的程序开发 一(新建文件夹): 打开wi ...

  7. 20170531 课堂实践 MyOD

    MyOD 题目 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 Linux下od功能详解 od(octal dump)命令可以以八进制.十进制. ...

  8. 与虚拟机和linux的初次接触

    初次接触虚拟机 根据老师所给的资源和教程,虚拟机安装的过程十分顺利. 接下来是在虚拟机上安装linux操作系统我下载了破解版的Ubuntu,也是十分顺利 接下来就是安装虚拟机增强功能,命令有些繁琐,在 ...

  9. 20155318 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155318 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)命令行下Java程序开发 步骤一(新建文件夹): 打开windows下的cmd → ...

  10. [BZOJ4383][POI2015] Pustynia-[线段树+dp+拓扑排序]

    Description 给定一个长度为n的正整数序列a,每个数都在1到10^9范围内,告诉你其中s个数,并给出m条信息,每条信息包含三个数l,r,k以及接下来k个正整数,表示a[l],a[l+1],. ...