从另一个iFrame控制一个iFrame

时间:2013-03-07 04:47:16

标签: 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.document.getElementById('frameName').src = 'page.html';
      }
    }
</script>

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

我知道为什么我无法通过id从一个iFrame获取元素到另一个iFrame?此外,我知道很少的代码,所以如果它显而易见,我会事先道歉。

1 个答案:

答案 0 :(得分:0)

首先,我会确保IFrame中网站的安全性允许您执行此类操作。看看这个链接: Overcoming "Display forbidden by X-Frame-Options"

接下来,我会担心你的锚标记的目标。通过指定它将默认为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>