2013-03-07 76 views
1

这工作一个的iFrame ...控制从其他的iFrame

<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中获得元素到另一个?此外,我知道很少的代码,所以我提前道歉,如果它明显。

+0

你在什么浏览器中试过?我认为这可能是一种安全措施。 – Jodes 2013-03-07 05:07:58

回答

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>