我读到以下内容应该可以使用javascript访问iframe的内容:
document.getElementById("iframe_name").contentDocument
或
document.getElementyById("iframe_name").contentWindow.document
然而,这些方法都不适合我。我尝试访问的iframe是我创建的Google表单。这是我为我的网站创建的注册表单。我想对用户输入的某些字段进行一些计算,然后在iframe之后显示它。使用javascript访问这些字段是我能想到的最好方法。为什么我不能访问它?有没有更好的方法来实现我的目标?谢谢。
答案 0 :(得分:1)
您无法从服务器访问google.com等外部网页。
答案 1 :(得分:0)
你拥有的是正确的。这是一个更完整的序列,应该跨浏览器工作:
var ifr=document.getElementById("iframe_name");
var doc=ifr.contentWindow||ifr.contentDocument;
if (doc.document) doc=doc.document;
更新:如另一个答案所述,这不会跨域工作(例如,如果您尝试从mydomain.com访问google.com)。
答案 2 :(得分:0)
我不知道你想做什么,但也许这会对你有帮助..
我用它来重新加载框架
document.getElementById('graphFrame').contentDocument.location.reload(true);
您可以看到location属性与iframe相关。
接下来,我正在改变iframe中的div。
top.frames["graphFrame"].document.getElementById('right_example');
所以top.frames是页面框架的数组。然后我正在寻找一个dom元素,他的ID是“right_example”然后你就可以随心所欲地做到这一点。