内的脚本怎么可能对<iframe>
包含它的页面有任何概念?框架中的脚本可以访问框架之外的任何上下文吗?跨域呢?
到现在为止,我认为一个<iframe>
是完全不可知的包含页面,但我已经看到了这违背这种信念的例子。
<iframe>
就包含页面而言,从内部到底可以做什么和不能做什么?
内的脚本怎么可能对<iframe>
包含它的页面有任何概念?框架中的脚本可以访问框架之外的任何上下文吗?跨域呢?
到现在为止,我认为一个<iframe>
是完全不可知的包含页面,但我已经看到了这违背这种信念的例子。
<iframe>
就包含页面而言,从内部到底可以做什么和不能做什么?
如果 iframe 的内容与其父级具有相同的域,则可以使用parent.document.getElement...
.
但是,您不能跨域(甚至不能跨不同的子域)执行此操作,因为它会导致:
Uncaught DOMException: Blocked a frame with origin "https://example.com" from accessing a cross-origin frame.
如果它们不在同一个域中,您可以通过 url 片段/哈希传递一些信息。这是该过程的一个很好的例子......