JS文件:
/*
*由于各框架页面之间存在共享数据的情况,所以写此脚本自动共享数据。
*/
if ((window.parent && window.parent.window.COMMONDATA) ||
  (window.opener && window.opener.window.COMMONDATA)) {
  if (window.parent.window.COMMONDATA) {
  window.COMMONDATA = window.parent.window.COMMONDATA;
  } else if (window.opener.window.COMMONDATA) {
  window.COMMONDATA = window.opener.window.COMMONDATA;
  }
} else if (!window.COMMONDATA){
  window.COMMONDATA = {};
}前台ASPX页--引用上面的JS
<body>
<form>
</form>
<script language="JavaScript" type="text/javascript">  window.COMMONDATA.Billno="<%=this.Billno.Text%>";//"<%=this.Billno.Text%>为前台控件。
  window.COMMONDATA.Compid="<%=this.Compid.Text%>";
  window.COMMONDATA.Issave = "<%=!this.Button2.Enabled %>";
    
  if (window.COMMONDATA.Billno) {
  window.parent.frames("main").window.location.href="Product/Air/Product_Airticket.aspx?Billno=" + window.COMMONDATA.Billno;
  window.parent.frames("contents").window.location.href="../../common/menu.html";
    
  }
}
</SCRIPT>
</body>
问:
①JS中:window.COMMONDATA 是什么?我查阅了很多资料,找不到这个东西。它是浏览器自带的一个属性么?
②前台ASPX页中为window.COMMONDATA.Billno赋值后,在其他 ASPX页面(同样引用了上面的JS文件)中能否读取到window.COMMONDATA.Billno对应的这个值?

解决方案 »

  1.   


    自定义的对象、属性而已
    window.abc = "aaaa";
    alert(window.abc);
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>window.attr.html</title>

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
         //自定义一个对象
         function test() {
         this.attr = "abc";
         }
        
         window.onload = function () {
         //创建对象
         var t = new test();
         //将对象赋值给common自定义属性
         window.common = t;
         alert(window.common);
         //为对象创建user属性,并赋值
         window.common.user = "js-abc";
         alert(t.attr);
         alert(window.common.attr);
         alert(window.common.user);
         };
        </script>  </head>
      
      <body>
        This is my HTML page. <br>
      </body>
    </html>
      

  2.   

    嗯,仅是自定义一个属性挂在widnow下面。对于不同页面之间数据的共享,要么把数据挂在不会刷新的父页面,要么写cookie,楼主的数据就是挂父页面的:)。
      

  3.   

    还是JavaScript版块有牛人。。,佩服。
    谢谢IBM_hoojo,解决了困扰了我好几天的问题。
      

  4.   

    如果要永久保存或是像session一样保存数据就用cookie保存
    如果保存在window对象中,一段页面刷新。程序重新执行,所有保存的值就木有了
    用cookie即可
    http://blog.csdn.net/IBM_hoojo/archive/2010/08/31/5851752.aspx
    http://blog.csdn.net/IBM_hoojo/archive/2010/08/04/5787765.aspx
      

  5.   

    饿,如果是“永久保存”最好保存到数据库中,cookie也不可靠
      

  6.   

    *由于各框架页面之间存在共享数据的情况,所以写此脚本自动共享数据。
    */
    if ((window.parent && window.parent.window.COMMONDATA) ||
      (window.opener && window.opener.window.COMMONDATA)) {
    ……
    都告诉你了,是为共享数据的,相当于一个用户变量。
      

  7.   

    Thanks,可能是我没有表达清楚。我现在是在解读别人的代码,前期不能对代码进行修改。(所以COOKIE,session,以及数据库等等不能使用)我想知道:如何在子页面的JS里取到 父页面里定义的JS变量?(不是控件的值,是变量 window.aaa="nnn";)
      

  8.   


    如果你是在父页面定义的全局变量yourobject,就可以在子页面通过window.parent.yourobject直接来取。