怎样在window.open()返回结果后做操作
时间:2011-09-06
来源:互联网
但是我想在关闭那个保存文件的对话框后再做一些操作,但是window.open()这个函数还没执行完,就是还没有返回结果时,程序就去执行window.open()下面的语句了。(我也用过window.showModalDialog,这个函数在IE下不能执行action)。
作者: lwj3826613 发布时间: 2011-09-06
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.getElementById("b").value;
if(v != "123"){
t = setTimeout("getOpenPageValue()", 10);
}else{
clearTimeout(t);
alert(v);
}
}
getOpenPageValue();
// b.html
<input type="hidden" id="b">
<script>
/*
do something ...
*/
document.getElementById("b").value = "abc";
</script>
作者: kyzy_yy_pm 发布时间: 2011-09-06
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.getElementById("b").value;
if(v != "123"){
t = setTimeout("getOpenPageValue……
可行,只要判断一下是否执行结束就好
作者: chenyingshu880603 发布时间: 2011-09-06
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.getElementById("b").value;
if(v != "123"){
t = setTimeout("getOpenPageValu……
这样不行,比如说:
var o = window.open('report.action');
var t = null;
getOpenPageValue();
那个window.open()是生成报表的,需要一定时间,所以o为null,所以在getOpenPageValue()
o一直为null,所以就一直执行setTimeout中的function。主要是判断window.open()什么时候结束,这个有什么相应事件没?
作者: lwj3826613 发布时间: 2011-09-06
引用 1 楼 kyzy_yy_pm 的回复:
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.getElementById("b").value;
if(v != "123"){
t = s……
var o = window.open('report.action');
setTimeout(function(){
if(o){
alert('页面加载成功')
}
},100)
只能这样用setTimeout判断了
作者: MuBeiBei 发布时间: 2011-09-06
引用 3 楼 lwj3826613 的回复:
引用 1 楼 kyzy_yy_pm 的回复:
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.getElementById("b").valu……
var o = window.open('report.action');
这个只赋值一次,如果赋值的时候window.open()没有执行完成,o就为null,等到window.open()执行完成后o仍然为null,所以setTimeout这个也没法判断呀
作者: lwj3826613 发布时间: 2011-09-06
引用 4 楼 mubeibei 的回复:
引用 3 楼 lwj3826613 的回复:
引用 1 楼 kyzy_yy_pm 的回复:
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageValue(){
var v = o.document.……
你不是只执行一次这个window.open吗~·
如果页面窗口打开了,那么o肯定不会是null。
作者: MuBeiBei 发布时间: 2011-09-06
引用 5 楼 lwj3826613 的回复:
引用 4 楼 mubeibei 的回复:
引用 3 楼 lwj3826613 的回复:
引用 1 楼 kyzy_yy_pm 的回复:
仅一个思路,你可自行扩展
// a.html
var o = window.open('b.html');
var t = null;
function getOpenPageVal……
var o = window.open('report.action');
alert(o);
如果open一个普通的页面,那么o不会是null。现在里面是一个action,需要大概10s的时间,这样给o赋值的时候,window.open()还没有完成,alert(o)弹出的是个[Object]。过10秒窗口打开了,但是o仍然没有值,因为这个时候没有给它赋值。
作者: lwj3826613 发布时间: 2011-09-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28