Javascript &引用;友好的iFrame“;检测:如何在首页中找到嵌套的iframe?
在“友好的iFrame”环境中,我遇到了一个具有挑战性的iFrame检测问题。我需要从Javascript &引用;友好的iFrame“;检测:如何在首页中找到嵌套的iframe?,javascript,dom,iframe,cross-domain,Javascript,Dom,Iframe,Cross Domain,在“友好的iFrame”环境中,我遇到了一个具有挑战性的iFrame检测问题。我需要从window.top中识别window.top.document中的哪个外部域iframe元素在其内部加载另一个iframe,该iframe与window.top具有相同的域、协议和端口 所以这里有一个中心问题:在A页上,如何在JavaScript中确定iFrame B包含iFrame C?同样,A页和iFrame C具有相同的域、协议和端口,并且可以相互通信。iFrame B位于不同的域上。我想在A页上找到与
window.top
中识别window.top.document
中的哪个外部域iframe元素在其内部加载另一个iframe,该iframe与window.top
具有相同的域、协议和端口
所以这里有一个中心问题:在A页上,如何在JavaScript中确定iFrame B包含iFrame C?同样,A页和iFrame C具有相同的域、协议和端口,并且可以相互通信。iFrame B位于不同的域上。我想在A页上找到与iFrame C关联的DomeElement
已尝试但不起作用的可能事项:
匹配。页面A将页面A上所有iFrame的document.referer
属性与iFrame C中的src
属性相匹配。不幸的是,如果页面A上的多个iframe在iframe B上加载具有相同src的内容,则此功能不起作用。如果iframe B的文档。referer
属性为src
或about:blank
,则此功能也不起作用javascript:something
- 查看iframe的
属性,对window.location.hash进行通信。页面A无法获取iFrame B的src
,因此没有运气窗口.位置.散列
- 这必须在IE6和IE7中工作,因此没有window.postMessage支持。对不起
- 我可以从iFrame C访问(即DOM操作)页面A。页面A可以访问iFrame C
- 页面A或iFrame C上的任何内容都无法访问iFrame B
你好我知道这是非常古老的,但我正在与Chrome67一起工作,我想知道你是否有任何workarround(甚至是某种利用)来存档这篇文章。非常感谢。
// set referrer
if (Request.UrlReferrer != null && Request.Url.Host != Request.UrlReferrer.Host)
{
Session["Referrer"] = Request.UrlReferrer.OriginalString;
}