cookie共享
程序员文章站
2022-06-28 19:09:08
现在有四个主域名的网站,需要共享cookie的invite_id PHP 通过后台接口设置cookie和存储cookies,后台操作的cookie是接口域名底下的cookie【pass】 Javascript: 主域名a.com b.com 【其他的域名同理】 a.com获取到b.com底下存储的c ......
现在有四个主域名的网站,需要共享cookie的invite_id
php
通过后台接口设置cookie和存储cookies,后台操作的cookie是接口域名底下的cookie【pass】
javascript:
主域名a.com b.com 【其他的域名同理】
a.com获取到b.com底下存储的cookie;
方法一:
在a.com域名下的网站引入b.com域名下的js【这个js需要获取b.com的cookie,并进行存储操作】,然后在a.com可以看到b.com的cookie,进行到这一步不知道怎么获取,然后pass【备注:等找到方法再来更】
方法二:
使用postmessage()
在a.com的index.html文件
<iframe src="b.com/index.html" onload="getothercookie()" id="sendmessage"></iframe>
<script type="text/javascript">
function getothercookie() {
var ifr = document.getelementbyid('sendmessage');
//使用iframe的window向iframe发送message。
ifr.contentwindow.postmessage("传值", "b.com");
window.addeventlistener('message', function (e) {
if(e.data && json.parse(e.data).invite_id){
/*存储cookie*/
setcookie('invite_id',json.parse(e.data).invite_id,30)
}else{
console.log(e);
}
})
}
</script>
在b.com的index.html文件中
<script type="text/javascript"> var getcookiescode=getcookie('invite_id')?getcookie('invite_id'):''; window.addeventlistener('message', receiver, false); function receiver(e) { if (e.data) { // 注释掉的为单次父子交互 // var obj = {'invite_id':getcookiescode}; // e.source.postmessage(json.stringify(obj), e.origin); // console.log(e.data) var obj = {'invite_id': getcookiescode} window.parent.postmessage(json.stringify(obj), e.origin) } else { console.log(e.data); } } </script>
上一篇: 预测球队比赛成绩