1

我读到以下内容应该可以使用 javascript 访问 iframe 的内容:

document.getElementById("iframe_name").contentDocument

或者

document.getElementyById("iframe_name").contentWindow.document

但是,这些方法都不适合我。我尝试访问的 iframe 是我创建的 Google 表单。这是我为我的网站创建的注册表单。我想对用户输入的某些字段进行一些计算,然后在 iframe 之后显示它。使用 javascript 访问这些字段是我能想到的最好方法。为什么我无法访问它?有没有更好的方法来实现我的目标?谢谢你。

4

3 回答 3

1

您无法从您的服务器访问像 google.com 这样的外部页面。

于 2012-09-29T22:18:48.867 回答
0

我不知道你想做什么,但也许这会对你有所帮助..

我用它来重新加载框架

document.getElementById('graphFrame').contentDocument.location.reload(true);

可以看到 location 属性与 iframe 相关。

接下来,我正在像这样更改 iframe 中的 div。

top.frames["graphFrame"].document.getElementById('right_example');

所以 top.frames 是页框的数组。然后我正在搜索他的 ID 为“right_example”的 dom 元素,然后你可以用它做任何你想做的事情。

于 2012-09-29T21:41:56.140 回答
0

你所拥有的是正确的。这是一个更完整的序列,应该可以跨浏览器工作:

var ifr=document.getElementById("iframe_name");
var doc=ifr.contentWindow||ifr.contentDocument;
if (doc.document) doc=doc.document;

更新:正如另一个答案中所说,这不适用于跨域(例如,如果您尝试从 mydomain.com 访问 google.com)。

于 2012-09-29T21:40:26.080 回答