【发布时间】:2014-02-20 18:17:46
【问题描述】:
我有一个页面,它从 iframe 中的另一个域加载一些内容。我需要替换此 iFrame 中的一些内容,特别是按钮的目的地。到目前为止,我最接近的是这段 jQuery 代码:
$("#frameid").contents().find("div").html('My html');
问题在于,这适用于替换标签之间的内容,而不是标签本身——这是我能够改变 a 标签的 href 属性所需要的。
所以问题是:如何替换 iFrame 中某些 HTML 的标签(不是标签之间的内容)?
【问题讨论】:
-
当 iFrame 不在同一个域中时,您无权访问它,因为同源策略禁止它。
-
能否尝试更改包含标签的父节点的html?
-
对了,你要修改的页面是同一个域吗?
-
@Drewness 该页面位于不同的域中。加载后是否无法修改浏览器中的内容?我已经尝试了下面建议的解决方案,当代码都在同一页面上时它们可以工作,但不在 iFrame 上,即使一切都是本地的。
-
@FernandoGarridoVaz - 没错,它属于Same-origin policy。