Остановился на варианте:
- site1.com при запуске выполняет localStorage.removeItem('postMessage-data')
- site1.com открывает в новом окне site2.com
- site2.com открывает в iframe site1.com/postmessage.html
- site2.com выполняет iframe.contentWindow.postMessage(json, 'https://site1.com')
- postmessage.html получает сообщение json по событию onmessage
- postmessage.html выполняет localStorage.setItem('postMessage-data', json)
- site1.com получает сообщение json по событию onstorage из event.newValue, проверив event.key и event.url
- site1.com выполняет localStorage.removeItem('postMessage-data')
|