2011-04-03 77 views
0

使用.location之后,有什么方法可以编辑iframe的innerHTML吗?iframe使用JS编辑InnerHTML

+0

您的意思是,在将位置更改为另一个域后?在那种情况下,没有。 – 2011-04-03 22:15:32

回答

2

如果新页面在您的域中,则在加载后,您可以访问其.contentDocument属性,该属性是一个单独的文档,用于引用刚加载的页面。如果新页面不在您的域名中,那么您当然不能这么做,因为这会违反跨站点脚本。

¹通常通过等待其加载事件,但您的新页面也可以通过使用window.parent属性在您的父页面中调用一个函数。

+0

它将如何成为一个跨站点脚本违规?它将编辑位于您自己网站上查看其他网站的HTML元素的值。 – Eric 2011-04-03 22:25:30

+0

如果您指的是iframe元素本身的值,那么通常它没有innerHTML,因为它显示的是已加载的文档而不是其中的innerHTML。你也可以改变img元素的innerHTML。 – Neil 2011-04-03 22:32:32

+0

@Eric如果您指的是其他网站上的部分,那么是的,这是一个问题。该网站的代码可以与iframe交互,您的代码也可以。您可以添加一个脚本标记,使用用户的凭据在其网页上执行某些恶意操作。 – yingted 2011-04-04 01:48:39