日期:2014-05-16  浏览次数:20677 次

window.parent为空或不为对象
HTML code

<%@ 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如下
JScript code

    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是不为空的,而且我把此代码复制到另外一个项目中时,就没有报上面的错误,可以实现功能,比较郁闷。。。

------解决方案--------------------
我测试了下,没有报错,但是调试的时候发现window.parent.frames('main').location没有被更改
------解决方案--------------------
用chrome了吧
------解决方案--------------------
直接用 parent 不用windows.