2015-02-24 116 views
0

我不明白。我以为我是这样做的,现在我做不到了。 简单的HTML与iframe。显示iframe是另一个html。我想在访问iframe时从主iframe中更改图像。从主HTML HTML:无法从iframe访问父元素

主HTML:

<!DOCTYPE HTML> 
<html lang="en"> 
    <head></head> 
    <body> 
     <img id="logo" src="../img/fpdfilms-logo-home.png" /> 
     <iframe id="fondo" name="main" src="test.html"></iframe> 
    </body> 
</html> 

的test.html

<!DOCTYPE HTML> 
<html lang="en"> 
    <head></head> 
    <body> 
     <a href="#" onclick="change();">Change Picture</p> 
     <script src="../js/jquery-1.11.2.min.js"></script> 
     <script type="text/javascript"> 
      function change() 
      { 
       var $logo= $('#logo', window.parent.document); 
       alert("Does it work?"); 
       $logo.attr("src","../img/fpdfilms-logo-director.png"); 
      } 
     </script> 
    </body> 
</html> 

它应该改变图片,当你点击链接。但警报没有显示......我尝试过不同的方式,我真的迷路了。实现这个简单的改变是如此困难?

+0

可能的重复[如何在jQuery中编写此代码] window.parent.document.getElementById('parentPrice')。innerHTML“?](http://stackoverflow.com/questions/726816/how-to-write-这在jquery窗口父母文件getelementbyidparentprice) – 2015-02-24 08:49:50

回答

0

从一个iframe中选择一个元素经过你的页面(铬40),并得到了

SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match. 

所以我检查在服务器(本地快递)和工作正常。

+0

...谢谢你,但你能指导我如何解决这个问题吗? – nanmaniac 2015-02-24 15:22:06

+0

我想通了。我正在检查本地PC中的文件。在服务器中它是不同的!有用 !!!! – nanmaniac 2015-02-24 15:41:47

1

你可以参考这个答案,因为它做你所需要的jQuery。

how to access iFrame parent page using jquery?

从上面的例子在父文件使用

var $parentElement= $('#parentElement', window.parent.document); 
+0

我编辑了htmls为了成为最简单的代码。它不工作......任何其他想法? – nanmaniac 2015-02-24 13:12:09