Firefox не будет получать данные из Window.postMessage - PullRequest
0 голосов
/ 17 июня 2019

У меня есть внутренний код в PHP, который будет выполнять аутентификацию с использованием социальных сетей, и внешний код, который откроет новое окно для загрузки HTML-файлов аутентификации. Последнее окно обратного вызова из серверной части отправит объект в postMessage () в средство открытия окна. Это работает для любого браузера, кроме Firefox. Кто-нибудь из вас сталкивался с этим раньше и сумел это исправить?

Я уже пытался использовать окно слушателя, но безуспешно.

login: function (url, provider) {
    return new Promise(function (resolve, reject) {
      window.open(url + '/v1/user/login/' + provider, '_new', 'height=500,width=500');
    });
  },

  getLoginResponse: function () {
    return new Promise(function (resolve, reject) {
      window.onmessage = function (e) {
        resolve(e.data);
      };
    });
  }

let data = '{{$data}}';
data = JSON.parse(data.replace(/"/g, '"'));

let opener = window.opener;
opener.postMessage(data, "*");

Для других браузеров часть resolve(e.data) работает, но не в Firefox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...