top.window.fnCallBack.push( { fn:.... } ); 直接push对象试试看
解决方案 »
- 如何使用find或filter来读取指定过滤条件的xml元素
- Extjs4 Store B删除Store A
- 向网页中添加skype按钮时,删掉调用javascript
- 如何调用ocx控件的函数
- 关于单击文本框弹出一个新的对话框的问题
- 服务器上的javascript无法运行,大虾帮忙~~
- 怎么实现3个div,点其中一个会增高,再点其他的之前增高的会收回去,点的那个增高?
- 关于javascript中的Array数组,求教
- window.doucument.write的问题
- 开发很烦
- 一个动态提交的问题
- 已经登录一个用户,再打开浏览器的一个标签,登录另一个用户时,第二个用户会把第一个用户的session给覆盖
var st = [];
</script>
<iframe src=test_sub.htm name=na1></iframe>
<iframe src=test_sub.htm name=na2></iframe>
<iframe src=test_sub.htm name=na3></iframe>
test_sub.htm<script src=scripts/json2.js></script>
<script>
function foo(na) {
for(var i=0; i<parent.st.length; i++) {
if(parent.st[i].name == self.name) {
parent.st[i].value = document.getElementById([na]).value;
return;
}
}
parent.st.push({name : self.name, value : document.getElementById([na]).value });
}
function see() {
alert(JSON.stringify(parent.st));
}
</script>
<input type=text id=t>
<input type=button value=修改 onclick=foo('t')>
<input type=button value=查看 onclick=see()>
虽然是按我的思路写的,与你给出的代码稍有不同。但并没有质的区别
估计是你的其他代码影响了效果
backWeb: function (ob,res) {
$(ob).attr("data-rel", "back");
top.window.fnn.push("22222"); //当调试到这里的时候,发现22222是可以被 push到fnn里面去的
top.window.fnCallBack[top.window.fnCallBack.length - 1].param=res;//但是这个fnCallBack数组直接变成空了
return true;
},
top.window.fnCallBack这个数组是有正确的,用push这个方法也是可行,为何出现LZ所说的第二种直接变空是因为LZ写错了,top.window.fnCallBack.length-1这个有问题,如果数组开始没有数据,top.window.fnCallBack.length-1=-1,你这是如何叫数组付值。修改成top.window.fnCallBack[top.window.fnCallBack.length].param=res这样,应该就能正确添加数组了