在沙盒化时从消息中识别发件人 iframe
Identify the sender-iframe from message when sandboxed
为了简化而虚构的情况:
- 我有一个
grandparent
页面,其中包含一个显示“父页面”的 parent
iframe。
- 这个“父页面”包含两个子 iframe
childA
和 childB
。
- 出于安全原因,所有 iframe 都是
sandbox="allow-scripts"
。
parent
发送和接收消息 from/to grandparent
、childA
和 childB
.
当parent
收到消息时,我需要能够识别发件人,但我找不到正确的方法,因为event
的origin
是null
:
function onReceive(message) {
// origin is null when the message comes from a sandboxed frame.
console.log(message.origin);
}
你知道一个清楚的方法来知道消息来自谁吗?
OK,比我想象的要简单。
我实际上可以将 message.source
属性 与 child iframes
的 contentWindow
或 window.parent
与盛大 parent 进行比较。
为了简化而虚构的情况:
- 我有一个
grandparent
页面,其中包含一个显示“父页面”的parent
iframe。 - 这个“父页面”包含两个子 iframe
childA
和childB
。 - 出于安全原因,所有 iframe 都是
sandbox="allow-scripts"
。
parent
发送和接收消息 from/to grandparent
、childA
和 childB
.
当parent
收到消息时,我需要能够识别发件人,但我找不到正确的方法,因为event
的origin
是null
:
function onReceive(message) {
// origin is null when the message comes from a sandboxed frame.
console.log(message.origin);
}
你知道一个清楚的方法来知道消息来自谁吗?
OK,比我想象的要简单。
我实际上可以将 message.source
属性 与 child iframes
的 contentWindow
或 window.parent
与盛大 parent 进行比较。