Установить междоменный cookie без фрейма или перенаправления - PullRequest
0 голосов
/ 11 апреля 2019

Моя компания хочет, чтобы я установил междоменный cookie.Такие как a.com и b.com включают cookie.com/cross_cookie.js

Когда a.com запускает заданный метод cookie.Файл cookie должен быть установлен на cookie.com.И тогда в b.com можно также получить cookie от cookie.com.

Мое решение - создать скрытый cookie.com/iframe.html через cookie.com/cross_cookie.js в a.com.Затем активируйте API postMessage для cookie.com/iframe.html, чтобы установить cookie в cookie.com.

Но моя компания не позволяет мне использовать iframe.Мой руководитель сказал мне, что я должен использовать куки на стороне сервера.Например, «Удалите cookie на стороне сервера через PHP ...., но сделайте это сценарием JS».Я не совсем понимаю, что имел в виду мой начальник, и у него нет больше деталей для меня.Просто хочу спросить, есть ли идея решить это без iframe?

Часть моего кода для установки cookie через ifram, как показано ниже:

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");
  };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...