0

此回复IFRAME中显示了如何引用 an 内部的组件。它的工作原理是假设只有一个(或者我们确定第零个就足够了)。但是,我想知道如何识别我想要戳的实际。IFRAMEIFRAME

我需要更改的语法:

window.frames[0].document. + my stuff

变成类似的东西:

window.frames["theIdOfMyIFrame"].document. + my stuff

但我做错了。

4

3 回答 3

1

我之前处理过这个问题。

如果您在 iframe 中显示跨站点请求的响应,则新浏览器将拒绝访问此 iframe,因为同源策略或跨站点脚本/请求禁止。
有关更多信息,请参见此处:IFrame 权限被拒绝

如果您想动态添加内容,此解决方案可能会对您有所帮助:添加动态内容

最好的祝福

于 2012-12-09T20:49:26.243 回答
0

使用document.getElementById而不是讨厌的弃用window.frames属性:

document.getElementById("theIdOfMyIFrame").contentDocument ...
于 2012-12-09T20:43:28.000 回答
0
  1. 我会避免使用window.frames。(可能是因为他们缺乏经验。)
  2. 当网络上的回复是形式something[0]时,请小心。糟糕的编码风格,可能
  3. 应该使用对您的theIdOfMyIFrame的引用。
  4. 内部文档就在contentDocument之下。

您可以像这样引用嵌入式组件。

document.getElementById("theIdOfMyIFrame")
  .contentDocument.getElementById("controlIdInTheembeddedPage")
    .value = "Christophe has eyes for details!";
于 2012-12-09T20:53:50.630 回答