在页面parent.html中写一个iframe src=child.html 在child.html中使用window.frameElement返回null
问题出现的环境背景及自己尝试过哪些方法
相关代码
parent.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h3>这个父页面</h3>
<iframe id="iframe" src="./child.html" width="500" height="300"></iframe>
<script src="./parent.js"></script>
</body>
</html>
child.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h3>这个孩子页面</h3>
<script src="./child.js"></script>
</body>
</html>
child.js
console.log('在子页面中iframe获取自己的引用 window.frameElement', window.frameElement);
iframe是一个窗口但是不是顶层窗口,所以不应该是null。
MDN上说“返回嵌入当前window对象的元素(比如 <iframe> 或者 <object>),如果当前window对象已经是顶层窗口,则返回null.”
问题是child.js 不是顶层窗口啊,为什么也是null?还是我哪里理解有问题?
老哥,这个问题原因找到了吗?找到的话方便解释一下么