设置没有iframe或重定向的跨域Cookie

时间:2019-04-11 02:50:02

标签: javascript php cookies

我的公司希望我设置跨域Cookie。例如a.com和b.com都包含cookie.com/cross_cookie.js

a.com触发设置cookie方法时。该cookie需要在cookie.com中设置。然后在b.com中也可以从cookie.com获取cookie。

我的解决方案是通过a.com中的cookie.com/cross_cookie.js创建一个隐藏的cookie.com/iframe.html。然后将postMessage api触发到cookie.com/iframe.html,以在cookie.com下设置一个cookie。

但是我的公司不允许我使用iframe。我的主管告诉我,我应该使用服务器端Cookie。例如“通过PHP删除服务器端Cookie。...但是将其设为JS脚本。”。我不太了解我的主管的意思,他对我没有更多的细节。只是想问问有没有解决不使用iframe的想法吗?

我的部分代码通过ifram设置cookie,如下所示:

prepare.iframe = function prepareFrame() {
  var ifrm = document.createElement("iframe");
  ifrm.setAttribute("src", "cookie.com/iframe.html");
  ifrm.setAttribute("id", "crossdomain");
  ifrm.style.width = "1px";
  ifrm.style.height = "1px";
  document.body.appendChild(ifrm);

  return ifrm;
}

window.onload = function() {
  var ifrm = prepare.iframe();
  ifrm.onload = () => {
    var iframeContent = document.getElementById("crossdomain").contentWindow;
    iframeContent.postMessage({
      'method': 'xxxxx'
    }, "cookie.com/iframe.html");
  };
}

0 个答案:

没有答案
相关问题