找出DOM中哪个框架发起了postMessage(在IE11中)

时间:2018-06-14 09:46:43

标签: javascript internet-explorer-11

在JavaScript中,一旦我收到'消息'事件,有没有办法找出DOM模型中的哪个帧已启动它?在调试大型Web应用程序时,这将非常有用,其中特定消息可能来自15-20帧。消息事件具有源属性,但如果该帧是跨域的,则无法访问:

enter image description here

因为我知道这些因浏览器而异,所以我会特别询问IE11。

1 个答案:

答案 0 :(得分:0)

我找到了一种即使在跨域实际工作的方法 - 我通过在Add Watch窗口中评估它来添加DOM元素。然后我在DOM树中搜索该元素,并以这种方式找出帧。

例如,此代码有效:

var foo_btn = document.createElement("BUTTON"); var foo_t = document.createTextNode("FOOBAR FOOBAR"); foo_btn.appendChild(foo_t); document.body.appendChild(foo_btn);

您只需单击添加监视并粘贴它,然后在执行后,您可以在DOM树中搜索FOOBAR FOOBAR

enter image description here