Javascript 如何识别加载在IFRAME或框架中的网页

Javascript 如何识别加载在IFRAME或框架中的网页,javascript,iframe,frame,Javascript,Iframe,Frame,我正在开发一个Chrome扩展的“内容脚本”。如果页面在中加载,但在中没有加载,则必须激活一些javascript函数 我知道我可以通过检查window.frameElement var-inIFrame=(window.frameElement.tagName='IFRAME') 但如果子帧与父帧不在同一域中,则失败。它抛出跨域安全警告。子帧如何知道它在IFRAME或frame中而不违反安全策略?否,这是无法确定的。子文档不能跨越其安全边界,如果域不同且没有其他CORS权限,则其“可见世界”仅

我正在开发一个Chrome扩展的“内容脚本”。如果页面在中加载,但在中没有加载,则必须激活一些javascript函数

我知道我可以通过检查window.frameElement

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


但如果子帧与父帧不在同一域中,则失败。它抛出跨域安全警告。子帧如何知道它在IFRAME或frame中而不违反安全策略?

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

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

可能重复@Niels,这不是重复。我的观点是什么样的框架,IFRAME还是框架。啊,这还不完全清楚。我会键入答案。可能是@Niels的重复,这不是重复。我的观点是什么样的框架,IFRAME还是框架。啊,这还不完全清楚。那我就键入答案。