无法从远程iframe调用父函数

时间:2012-12-23 19:04:04

标签: javascript

parent.html

    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <script   type="text/javascript">  
    function say() { 
            alert("parent.html------>I'm at parent.html"); 
    } 

    function callChild() 
    {  
           myFrame.window.say(); 
    }  
    </script>  
    </head>  

    <body>    
    <input   type=button   value=" call child.html say()" onclick="callChild()"> 
    <iframe name="myFrame" src="http://66.175.214.250/child.html"></iframe> 
    </body>  
   </html>

child.html

   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>  
   <script type="text/javascript"> 

   function say()  
   {  
        alert("child.html--->I'm at child.html");  
   } 

   function callParent() { 
        window.top.say(); 
   } 
   </script>  
   </head>  
   <body>  
   <input   type=button   value="call parent.html say() "   onclick="callParent()">  
   </body>  
   </html>

当parent.html和child.html位于同一文件夹中时,会在localhost中对此进行测试。但是如果我将child.html上传到远程主机。有错误:父母不能调用孩子的功能,孩子不能打电话给父母的功能。

我不知道为什么。是iframe调用它的父级应该是本地的,还是远程主机块中的东西?

由于

1 个答案:

答案 0 :(得分:1)

即使是从子框架中离开子域(www。)这样简单的事情也可能导致浏览器停止两个浏览器之间的任何和所有这种通信,因为它们不会被视为相同的来源或域。