Вымышленная ситуация для упрощения:
grandparent
, содержащая один parent
iframe, отображающий «родительскую страницу».childA
и childB
.sandbox = "allow-scripts"
из соображений безопасности.parent
отправляет и получает сообщения от/на grandparent
, childA
и childB
.
Когда parent
получает сообщение, мне нужно иметь возможность идентифицировать отправителя, но я не могу найти правильный подход, так как origin
из event
это null
:
function onReceive(message) {
// origin is null when the message comes from a sandboxed frame.
console.info(message.origin);
}
Знаете ли вы простой способ узнать, от кого пришло сообщение?
Хорошо, это было проще, чем я ожидал.
На самом деле я могу сравнить свойство message.source
со свойством contentWindow
дочернего элемента iframes
или window.parent
для прародителя.