从一个iFrame控制另一个iFrame

从一个iFrame控制另一个iFrame,iframe,target,Iframe,Target,这很有效 <a href="page.html" target="frameName">Link text</a> 但这不 <script type="text/javascript"> window.onload = function() { var a = document.getElementById("mylink"); a.onclick = function() { parent.documen

这很有效

<a href="page.html" target="frameName">Link text</a>

但这不

<script type="text/javascript">
    window.onload = function() {
      var a = document.getElementById("mylink");
      a.onclick = function() {
        parent.document.getElementById('frameName').src = 'page.html';
      }
    }
</script>

<a id="mylink" href="page.html">LINK</a>

window.onload=函数(){
var a=document.getElementById(“mylink”);
a、 onclick=function(){
parent.document.getElementById('frameName').src='page.html';
}
}

知道为什么我不能从一个iFrame到另一个iFrame按id获取元素吗?另外,我知道的代码很少,因此如果代码明显,我会提前道歉。

首先,我会确保IFrame中的站点安全性允许您执行此类操作。查看此链接:

接下来,我会担心你的锚标签的目标。通过指定,它将默认为self。在您的第二段代码中,目标将是self。因此,当您单击该链接时,您的javascript将希望更改IFrame的源代码,而该链接将希望更改整个页面。我会选择JS或HTML实现链接,而不是两者都选择。下面是我放在一起展示的一种在没有实际锚定标记的情况下更改iFrame的方法

<html>
<body>

<iframe id="frameName" src="page.html"></iframe>
<button onclick="changeFrame()">LINK</button>
<script>
    function changeFrame() {
          document.getElementById('frameName').src ='page2.html';
      }
</script>


</body>
</html>

链接
函数changeFrame(){
document.getElementById('frameName').src='page2.html';
}

您在哪些浏览器中尝试过此功能?我想这可能是一种安全措施。