如果使用以下方式获取contentWindow,则值为undefined
<html>
<head>
<title>iframe test</title>
</head>
<body>
<iframe id="frame1" src="frame1.html" name="frame1"></iframe>
<script>
document.body.onload = function() {
console.info("index loaded");
var frame1 = window.frames["frame1"];
console.info(frame1.contentWindow);
}
</script>
</body>
</html>
如果使用其他方式,如下所示,它可以正常工作:
var frame1 = document.getElementById("frame1");
console.info(frame1.contentWindow);
我在FF 29.0.1,chrome 34,IE11上进行了测试,它们的工作方式相同。
所以我有两个问题:
答案 0 :(得分:14)
window.frames["frame1"];
是contentWindow
,它是一个命名窗口,在你的情况下,它与
document.getElementById("frame1").contentWindow