我最近遇到了一个臭名昭著的问题,即 iframe 访问其父级。我试图在更简单的 html 中模仿它。于是我创建了两个文件,parent.htm,child.htm。即使它们是在本地执行的,我也会遇到通常的错误。
Unsafe JavaScript attempt to access frame with URL file:///C:/Users/kvaradar/Desktop/New%20folder/Parent.htm from frame with URL file:///C:/Users/kvaradar/Desktop/New%20folder/Child.htm. Domains, protocols and ports must match.
好吧,据说父母和孩子必须在同一个域中。但就我而言,我将它们作为本地文件 - Parent.htm、Child.htm。
我假设他们应该在同一个域上。为什么在这种情况下我会收到此错误?我是不是错过了什么。
这是父 HTML。
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<span id="myParentWindow">Some content of parent frame's span.</span>
<iframe src="Child.htm"></iframe>
</body>
</html>
子 HTML。
<html xmlns="http://www.w3.org/1999/xhtml">
<script type="text/javascript">
function loadChild() {
document.getElementById('myChild').innerHTML
= window.parent.document.getElementById('myParent').innerHtml;
}
</script>
<body onload="loadChild()">
<div style="border:1px solid green;height:500px; min-height:500px">
Some content of the child frame.
In the following span, I am trying to fill the parent's span content through javascript
<span id="myChild"></span>
</div>
</body>
</html>