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.) を離れるような単純な操作でも、2 つのブラウザーが同じオリジンまたはドメインとは見なされないため、ブラウザーが 2 つのブラウザー間のこの通信のすべてを停止させる可能性があります。

于 2013-01-05T00:55:19.500 に答える