我用for(int=1;i<10;i++)
windows.open()
这样我就能连续打开多个页面,每个页面都有 window.print();window.close()问题是现在我想第二个页面打开的时候 是在第一个页面关闭后,
第三个页面打开后在第二个页面关闭后,以此类推!不知道这段js该怎么写,就是如何判断前一个页面是否关闭?
windows.open()
这样我就能连续打开多个页面,每个页面都有 window.print();window.close()问题是现在我想第二个页面打开的时候 是在第一个页面关闭后,
第三个页面打开后在第二个页面关闭后,以此类推!不知道这段js该怎么写,就是如何判断前一个页面是否关闭?
var flag = false;
window.open的时候 flag=true;
然后window.close()之前赋值给他,然后你打开新的页面的时候判断他是false还true
使用变量!
{
string strNewFileName = strFileName + "_" + i.ToString();
string strNewPath = _page.Page.Server.MapPath("../../ASPMB/TEMP") + @"\" + strNewFileName + ".asp"; lst.Add(strNewFileName);
File.Copy(strFullPath, strNewPath, true); script += "var ZSMB = '" + lst[strSS.Length - 1 - i] + "';"
+ "var url='../../ASPMB/TEMP/'+ZSMB +'.asp?JDZSID=" + strSS[i] +
"&ZSLX=' + ZSLX.selectedIndex + '';"
+
"var strWinFeature='toolbar=no,directories=no,menubar=no,status=no,width=800,height=700,resizable=yes,scrollbars=yes'; "
+ " if(flag==false) { newWin =window.open(url,'检定证书打印" + i.ToString() + "',strWinFeature);"
+ "flag=true;window.print();window.close();flag=false;} ";
}
script += "</script>";
if (!_page.Page.ClientScript.IsStartupScriptRegistered(scriptName))
{
_page.Page.ClientScript.RegisterStartupScript(this.GetType(), scriptName, script);
}大家帮忙看看有什么问题 还是没有实现 关闭本身后 打开下一个
有点疑惑:当第一个页面弹出后,打印过程中,flag还是true,那么父页面的多个window.open都需要判断才能打开,这样在这个打印这个过程中所除了第一个以外的window.open就不能被打开了。
不知道我说清楚了没?
弹出一个窗口,它close 时去调用父窗口的 openNext 自定义函数var c=1
function openNext(){
c++
if(c<11){
window.open(....
}
}
var c=1
function openNext(){
c++;
if(c<11){
window.open('print.htm')
}
}
window.open('print.htm')
</script>print.htm<script>
window.opener.openNext();
window.close();
</script>
现在问题是假如我勾选了五条 a,b,c,d,e 。单击打印按钮,弹出五个页面,按照a,b,c,d,e这样顺序 但是打出来后顺序就不知道什么了,每次都不一样,我感觉主要是原因是发给打印机的时候顺序变了,所以想让 打开a然后在关闭a在打开b在关闭b。但是我不知道怎么实现,或者有没有什么别的好的方法?
在21楼的openNext处理下数组就行了