3

父.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 调用,它的父级应该是本地的,还是远程主机块中的某个东西?

谢谢

4

1 回答 1

1

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

于 2013-01-05T00:55:19.500 回答