首先说明一下,我的程序的页面是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头里面去?或者应该有其它的办法关闭?如果各位前辈还有其它的解决办法,也请赐教,不胜感激!

解决方案 »

  1.   

    直接写超连接用脚本提交因为response里面的类型是要下载的,当前页面就不会被冲掉了,这样就实现了你需要的效果了
      

  2.   

    谢谢你的回贴,不过我不太明白你的意思.下载我已经实现了,效果也是我想要的,只是下载后如果是IE 6.0 sp1会出现脚本错误,导至页面不能继续使用.我的问题是,如何在下载以后IE6.0 sp1浏览器不报JavaScript的错误.