一个主页面frameset有两个子页面frame a 和 frame b
在 a 中有一个二维数组,当 刷新b页面后,发现再调用a窗体的二位数组(全局变量)的时候已经不能在a窗体中正常调用了(都是空的),但是用alert();还能把二位数组显示出来研究了一天,也没有琢磨出来不知道各位有没有也遇到过这种情况,请了解的讲讲原因。
我认为这个可能是bug
在 a 中有一个二维数组,当 刷新b页面后,发现再调用a窗体的二位数组(全局变量)的时候已经不能在a窗体中正常调用了(都是空的),但是用alert();还能把二位数组显示出来研究了一天,也没有琢磨出来不知道各位有没有也遇到过这种情况,请了解的讲讲原因。
我认为这个可能是bug
test.htm
<frameset cols="50%,50%">
<frame src="a.htm" id="a"/>
<frame src="b.htm" id="b"/>
</frameset>a.htm
a.htm<br/>
<script>
var arr=[[0,1],[2,3]];
document.write("time:"+new Date()+"<br/>")
</script>
<input type="button" onclick="alert(arr)" value="arr"/>b.htm
b.htm<br/><input type="button" onclick="alert(parent.frames['a'].arr)" value="parent.frames['a'].arr"/>
<input type="button" onclick="location.reload()" value="刷新"/>
<script>
document.write("time:"+new Date()+"<br/>")
</script>
var ApplyData = new Array();
然后在 b页面中
var apply_data = window.parent.frames.b.ApplyData
apply_data[apply_data.length] = new Array("123","jkj");
这样的话,如果刷新 b页面,之前加到a页面ApplyData中的数据就不能正常读出来了。
//====>
var apply_data = window.parent.frames.a.ApplyData //是frame为a页面的变量
apply_data[apply_data.length] = new Array("123","jkj");
把a页面的二位数组写成变量,
var ApplyData = new Array();
然后在 b页面中
var apply_data = window.parent.frames.a.ApplyData
apply_data[apply_data.length] = new Array("123","jkj");
这样的话,如果刷新 b页面,之前加到a页面ApplyData中的数据就不能正常读出来了。
apply_data[apply_data.length] = new Array("123","jkj").slice(0);