我正在尝试获取 iframe 的文档对象,但我在 google 上搜索到的示例似乎都没有帮助。我的代码如下所示:
<html>
<head>
<script>
function myFunc(){
alert("I'm getting this far");
var doc=document.getElementById("frame").document;
alert("document is undefined: "+doc);
}
</script>
</head>
<body>
<iframe src="http://www.google.com/ncr" id="frame" width="100%" height="100%" onload="myFync()"></iframe>
</body>
</html>
我已经测试过我能够获取 iframe 对象,但是 .document 不起作用,.contentDocument 也不起作用,我想我也测试了一些其他选项,但它们都返回未定义,甚至是应该的示例已经起作用了,但它们对我不起作用。所以我已经有了 iframe 对象,现在我想要的只是它的文档对象。我已经在 Firefox 和 Chrome 上测试过这一点,但没有成功。
尝试以下操作
var doc=document.getElementById("frame").contentDocument;
// Earlier versions of IE or IE8+ where !DOCTYPE is not specified
var doc=document.getElementById("frame").contentWindow.document;
注:AndyE指出contentWindow
所有主要浏览器都支持,因此这可能是最好的方法。
- http://help.dottoro.com/ljctglqj.php http://help.dottoro.com/ljctglqj.php
注意2:在此示例中,您将无法通过任何方式访问该文档。原因是您无法访问不同来源的 iframe 文档,因为它违反了“同源”安全策略
- http://javascript.info/tutorial/same-origin-security-policy http://javascript.info/tutorial/same-origin-security-policy
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)