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对应的这个值?
/*
*由于各框架页面之间存在共享数据的情况,所以写此脚本自动共享数据。
*/
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对应的这个值?
自定义的对象、属性而已
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>
谢谢IBM_hoojo,解决了困扰了我好几天的问题。
如果保存在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
*/
if ((window.parent && window.parent.window.COMMONDATA) ||
(window.opener && window.opener.window.COMMONDATA)) {
……
都告诉你了,是为共享数据的,相当于一个用户变量。
如果你是在父页面定义的全局变量yourobject,就可以在子页面通过window.parent.yourobject直接来取。