首先说明一下,我的程序的页面是frame框架的.其中有个页面有下载的功能,具体是从数据库中取得数据,然后生成CSV格式的文件,下载到客户端.我的做法是在Action中
Response.setContentType("application/x-msdownload;charset=Shift-JIS");
Response.addHeader("Content-Disposition", "attachment; filename=DEMAND0001.CSV");
然后将服务器端做好的文件写到流中去.在IE6.0 sp2 和 firefox中都可以正常执行.可在IE6.0 sp1中,下载过后会使页面上的JavaScript报错,经过查找,发现在frame框加中使用这种方法下载,会导至JavaScript报错.我在下载时将form的target改为_parent,情况得到解决.但是,如果在做成下载文件时报错,错误页面会以整个页面来显示而不是在mainFrame里面显示.问题出来了, 我现在想了两种解决方法, 但小弟技术不够强, 无法实现,想请教各位前辈帮我解决一下.
1. form的target设为"_parent",在Action中如果要转去错误页面,则在转向之前将target变为"_self", 怎么在Action中改变响应页面的target?有办法实现吗?2. form的target设为"_blank",但是在下载时会弹出新窗口,我想要新窗口弹出的时候马上关闭它,关闭的功能能不能写到http头里面去?或者应该有其它的办法关闭?如果各位前辈还有其它的解决办法,也请赐教,不胜感激!
Response.setContentType("application/x-msdownload;charset=Shift-JIS");
Response.addHeader("Content-Disposition", "attachment; filename=DEMAND0001.CSV");
然后将服务器端做好的文件写到流中去.在IE6.0 sp2 和 firefox中都可以正常执行.可在IE6.0 sp1中,下载过后会使页面上的JavaScript报错,经过查找,发现在frame框加中使用这种方法下载,会导至JavaScript报错.我在下载时将form的target改为_parent,情况得到解决.但是,如果在做成下载文件时报错,错误页面会以整个页面来显示而不是在mainFrame里面显示.问题出来了, 我现在想了两种解决方法, 但小弟技术不够强, 无法实现,想请教各位前辈帮我解决一下.
1. form的target设为"_parent",在Action中如果要转去错误页面,则在转向之前将target变为"_self", 怎么在Action中改变响应页面的target?有办法实现吗?2. form的target设为"_blank",但是在下载时会弹出新窗口,我想要新窗口弹出的时候马上关闭它,关闭的功能能不能写到http头里面去?或者应该有其它的办法关闭?如果各位前辈还有其它的解决办法,也请赐教,不胜感激!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货