window.opener.变量
window.opener.函数(xxx,xxx)

解决方案 »

  1.   

    window.opener.变量
    window.opener.函数(xxx,xxx)
    我试了,但是不行啊?
      

  2.   

    用window.opener...是可以的。你是不是把父窗口关了?
      

  3.   

    全局变量是不是就是应该这样定义?
    <script language="javascript">
       var str="1";
    </script>
      

  4.   

    opener.xxx;
    xxx為父窗變量名!
      

  5.   

    这个是没有问题的。
    但是有一点要注意:不能操作远端的页面。(这个是出于安全考虑)贴下简短代码,供参考:p.htm<script>
    var msg="this is from the parent window";
    function msgB(msg){
    alert(msg);
    }
    window.open("c.htm");
    </script>
    -----------------------------------------
    c.htm<script>
    if(window.opener)
    {
    window.opener.msgB(window.opener.msg);
    window.opener.msg="and it modify by this window";
    window.opener.msgB(window.opener.msg);
    }
    else{
    alert("window.opener has closed");
    }</script>懒得写的话贴下来看看效果。
      

  6.   

    再给大家一例,看看有什么好玩的现象。(这个例子中的判断可以改为setTimeOut之类的检测手段实现,但是由此也可以看出程序的运行顺序是非常有趣的。)p.htm<script>
    var msg="this is from the parent window";
    var bcalled=false;
    function msgB(msg){
    alert(msg);
    }
    var c=window.open("c.htm");//if(bcalled){
    c.t.show();
    //}
    </script>
    ----------------------------
    c.htm<script>
    var t;
    if(window.opener)
    {
    window.opener.msgB(window.opener.msg);
    //window.opener.msg="and it modify by this window";
    //window.opener.msgB(window.opener.msg);
    t=new Object();
    t.str="It called from a object";
    t.show=function(){alert(this.str+" and it called from parent!");}
    window.opener.msgB(t.str);
    window.opener.bcalled=true; }
    else{
    alert("window.opener has closed");
    }
    </script>