<%@ Page language="c#" Codebehind="mainfrm.aspx.cs" AutoEventWireup="false" Inherits="GM.mainfrm" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<TITLE>main</TITLE>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<frameset cols="180,580" border="0" frameSpacing="0" frameBorder="0">
<frame name="left" id="left" src="left.aspx">
<frame name="main" id="main" src="main.aspx" noresize scrolling=no>
</frameset>
</HTML>
我在left.aspx页面中点击一个按钮,实现改变main的地址
js如下    function onClickdo(i)
  {
    var queryParam = "";
    if(i=="1")
    {
      queryParam = "submit.aspx?depart=dept";
    }
    else if (i=="2")
    {
        queryParam = "replylist.aspx";
    }
    
    window.parent.frames('main').location = queryParam;
  }
</script>
为什么老是提示 window.parent 为空或不为对象 ,我调试跟踪时发现window.parent是不为空的,而且我把此代码复制到另外一个项目中时,就没有报上面的错误,可以实现功能,比较郁闷

解决方案 »

  1.   

    我测试了下,没有报错,但是调试的时候发现window.parent.frames('main').location没有被更改
      

  2.   

    有什么其他的解决方法吗?
    不要用top对象,因为这个页面还需要嵌套在别的服务器上的项目中,到时top对象是拒绝访问的
      

  3.   

    不好意思,我弄错了,没有报错,而且main的url也改了
      

  4.   

    left.aspx 
     <%@ Page language="c#" Codebehind="left.aspx.cs" AutoEventWireup="false" Inherits="GM.left" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>left</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"/>
    <meta name="CODE_LANGUAGE" Content="C#"/>
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <link href="input.css" rel="stylesheet">
    <link href="images/zmjl.css" rel="stylesheet">
    <script language="javascript" src="Calendar.js"></script>
    <script language="javascript" src="query.js"></script>
    <script language="javascript">
      function onClickdo(i)
      {
         var queryParam = "";
        if(i=="1")
        {
          queryParam = "submit.aspx?departmentName=莱西市委书记";
        }
        else if (i=="2")
        {
            queryParam = "replylist.aspx";
        }
                 window.parent.frames('main').location=queryParam;
      }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout" topmargin="0" leftmargin="0">
    <form id="Form1" method="post" runat="server">
    <table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    <table border="0" width="180" id="table2" cellspacing="0" cellpadding="0">
    <tr>
    <td width="13" height="29">
    <img border="0" src="images/13.jpg" width="13" height="35"></td>
    <td width="179" height="29">
    <img border="0" src="images/sjhlx.gif" width="159" height="35"></td>
    <td width="8" height="29">
    <img border="0" src="images/15.jpg" width="8" height="35"></td>
    </tr>
    <tr>
    <td background="images/16.jpg"></td>
    <td bgcolor="#fbfbfb">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center"><img src="images/shuji.jpg" width="120" height="150" border="1"></td>
    </tr>
    <tr>
    <td height="5"></td>
    </tr>
    <tr>
    <td><img style="MARGIN:0px 5px" src="images/qz.gif" align="absMiddle">测试名</td>
    </tr>
    <tr>
    <td height="5" style="HEIGHT: 5px"><FONT face="宋体"></FONT></td>
    </tr>
    <tr>
    <td><img style="MARGIN:0px 5px" src="images/zw.gif" align="absMiddle">市委书记</td>
    </tr>
     
    <tr>
    <td height="10"></td>
    </tr>
    <tr>
    <td align="center">
    <button style="CURSOR:hand;BORDER-RIGHT:0px; BORDER-TOP:0px; BACKGROUND:url(images/qz-btn.gif) no-repeat 0px 0px; BORDER-LEFT:0px; WIDTH:70px; COLOR:white; BORDER-BOTTOM:0px; HEIGHT:29px"
    type="button" onclick="onClickdo('1')">留言</button>&nbsp; <button style="CURSOR:hand;BORDER-RIGHT:0px; BORDER-TOP:0px; BACKGROUND:url(images/qz-btn.gif) no-repeat 0px 0px; BORDER-LEFT:0px; WIDTH:70px; COLOR:white; BORDER-BOTTOM:0px; HEIGHT:29px"
    type="button" onclick="onClickdo('2')">答复</button>

    </td>
    </tr>
    <tr>
    <td height="5"></td>
    </tr>
    </table>
    </td>
    <td background="images/17.jpg"><FONT face="宋体"></FONT></td>
    </tr>
    <tr>
    <td width="13" height="11">
    <img border="0" src="images/18.jpg" width="13" height="11"></td>
    <td background="images/19.jpg" height="11">
    <img border="0" src="images/19.jpg" width="4" height="11"></td>
    <td width="8" height="11">
    <img border="0" src="images/20.jpg" width="8" height="11"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table border="0" width="100%" id="table4" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    <table border="0" width="180" id="table7" cellspacing="0" cellpadding="0">
    <tr>
    <td width="13" height="29">
    <img border="0" src="images/13.jpg" width="13" height="35"></td>
    <td width="159" height="29">
    <img border="0" src="images/14.jpg" width="179" height="35"></td>
    <td width="8" height="29">
    <img border="0" src="images/15.jpg" width="8" height="35"></td>
    </tr>
    <tr>
    <td background="images/16.jpg">
    </td>
    <td bgcolor="#fbfbfb">
    <table border="0" width="100%" id="table8" cellpadding="0">
    <tr>
    <td align="center" height="30">
    <p align="center"><font style="FONT-SIZE: 9pt" face="宋体">查询码:&nbsp;&nbsp;</font><input class="form_007" type="text" id="tbSeekCode" name="tbSeekCode" maxlength="10" runat="server"
    onpropertychange="switchEnabled()"></p>
    </td>
    </tr>
    <tr>
    <td align="center">
    <img border="0" src="images/21.jpg" width="140" height="12"></td>
    </tr>

    <tr>
    <td align="center" height="30"><font style="FONT-SIZE: 9pt" face="宋体"> 标&nbsp;&nbsp;题:&nbsp;&nbsp;</font><input type="text" id="tbKeyWord" name="tbKeyWord" size="12" class="form_007" runat="server"></td>
    </tr>
    <tr>
    <td height="40">
    <p align="center">
    <img border="0" src="images/22.jpg" style="CURSOR:hand" width="68" height="24" onclick="query('1')">&nbsp;
    <img border="0" src="images/23.jpg" style="CURSOR:hand" width="68" height="24" onclick="resetQuery()"></p>
    </td>
    </tr>
    </table>
    </td>
    <td background="images/17.jpg"><FONT face="宋体"></FONT>
    </td>
    </tr>
    <tr>
    <td width="13" height="11">
    <img border="0" src="images/18.jpg" width="13" height="11"></td>
    <td background="images/19.jpg" height="11">
    <img border="0" src="images/19.jpg" width="4" height="11"></td>
    <td width="8" height="11">
    <img border="0" src="images/20.jpg" width="8" height="11"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </HTML>其实,我把这两个页面拷贝到另外一个项目中运行,也是可以实现跳转的,但是,就是不知道为什么在当前项目中不行,当前项目缺少什么东西吗
      

  5.   

    看你贴出来的代码也没什么问题, 不过你的代码在Chrome下好像不兼容啊
      

  6.   

    直接用 parent  不用windows.
      

  7.   

    找到错误了,页面中引用了别人写的js,js中定义了全局变量parent,所以才会报parent为空或不为对象错误
    谢谢大家的帮助