Javascript windows弹出窗口在显示dos之前关闭。xls
我试图在IE8上的弹出窗口中显示文档,但在显示之前,窗口会自动关闭 代码如下: javascript:Javascript windows弹出窗口在显示dos之前关闭。xls,javascript,excel,jsp,internet-explorer-8,response,Javascript,Excel,Jsp,Internet Explorer 8,Response,我试图在IE8上的弹出窗口中显示文档,但在显示之前,窗口会自动关闭 代码如下: javascript: function hacerExportarExcel(){ var url = contextPath + "/exportarCarteraCreditoExcel.do" window.setTimeout("window.open('"+url+"', '_blank', 'width=950,height=500,scrollbars=yes')",1000); }
function hacerExportarExcel(){
var url = contextPath + "/exportarCarteraCreditoExcel.do"
window.setTimeout("window.open('"+url+"', '_blank', 'width=950,height=500,scrollbars=yes')",1000);
}
行动:
try {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "inline; filename=ConsultaCartera.xls");
consulta.setPdf(response.getOutputStream());
administracionCreditoConsulta.exportarCarteraCreditoExcel(consulta);
} catch (Exception e) {
logger.logError(e);
} finally {
response.getOutputStream().flush();
response.getOutputStream().close();
}
当请求新窗口时,它会弹出并开始加载,然后它关闭并给出以下异常:
2012-06-27 11:01:01951错误[LoggingFilter]日志()异常(147):
ClientBortException:java.net.SocketException:对等方重置连接:套接字写入错误
位于org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327)
位于org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)
位于org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:85)
在com.wincornixdorf.infinix.creditos.action.exportarcarterracreditoexcelaction.execute(exportarcarterracreditoexcelaction.java:82)
当我尝试在IE6中执行此操作时,效果很好,弹出窗口并显示excel。但它对IE 8不起作用
有人能帮忙吗
谢谢 您确定可以将其显示为内联内容吗?我的猜测是IE8总是试图下载这个文件,而不是在窗口中显示它,这将使它自动关闭新窗口。您是否在不同类型的文档中尝试了相同的代码,以确保其余的逻辑是正确的?您好!感谢您的回复!只有当我想显示一个文档类型.xls时,当文档类型为.pdf时,才会发生这种情况。这是类型为pdf时的代码,请尝试{response.setContentType(“application/pdf”);response.setHeader(“Content Disposition”,“inline;Grafico.pdf”);consulta.setPdf(response.getOutputStream());AdministrationCreditoconsulta.exportarGrafico(consulta);}捕获(异常e){logger.logError(e);}最后{response.getOutputStream().flush();response.getOutputStream().close();}唯一的区别是ContentTypeI假设浏览器不知道如何在窗口中处理该文档类型,因此默认为下载行为;即使你已经告诉了它,你好!我能解决!我所做的更改是对内容类型进行赋值:“application/vnd.xls”谢谢!很高兴找到埃德加!一定要将其作为答案发布,并为未来用户接受。