iFrame postMessage无法读取event.source

时间:2019-06-04 21:23:20

标签: javascript iframe window postmessage

我有一个窗口和一个iFrame。

在iFrame中,我使用一些数据执行了postMessage,以通知父级更改位置。 帖子功能很好用。

父窗口接收良好。 出于安全原因,我在使用event.data更改位置之前先进行了测试。

我做一个:

if (event.origin === document.location.origin && event.source === frame.contentWindow)

此条件的第一部分为true,所以没有问题。 但是第二部分给出了false,因为:

在event.source中,我有一个窗口对象,其中包含一些无用的元素:

Event.source

您会看到URL https:// ....,但是在前后有一些卑鄙的元素。

frame.contentWindow中,我只有URL like: « https://.... »

因此,要使代码正常工作,我需要使用first [0] of event.source

if (event.origin === document.location.origin && event.source[0] === frame.contentWindow)

但是为什么我需要这样做? 为什么event.source不能简单地给我像frame.contentWindow这样的URL?

谢谢

0 个答案:

没有答案