【问题标题】:How to identify a webpage is loaded inside an IFRAME or a FRAME如何识别网页加载在 IFRAME 或 FRAME 内
【发布时间】:2013-12-11 23:33:00
【问题描述】:

我正在开发 Chrome 扩展的“内容脚本”。如果页面在 中加载但在

我知道我可以通过

检查window.frameElement

var inIFrame = (window.frameElement.tagName=='IFRAME')

但如果子框架与父框架不在同一个域中,则失败。它会引发跨域安全警告。子框架如何在不违反安全策略的情况下知道它在 IFRAME 或 FRAME 中?

【问题讨论】:

标签: javascript iframe frame


【解决方案1】:

不,这是无法确定的。子文档不能跨越其安全边界,如果域不同且没有其他 CORS 权限,则其“可见世界”仅限于其自身文档的范围,即其自己的窗口。没有办法超越它进入父文档的范围,并确定包含元素的类型。这样做会暴露整个对象及其属性,包括该知识的所有潜在利用。

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多