Tengo la siguiente funcion:
Código PHP:
var ventanaExcel;
function cargaInformeExcel(){
if (ventanaExcel && !ventanaExcel.closed){
ventanaExcel.close();
}
ventanaExcel=window.open('', 'excel');
ventanaExcel.document.write('<H1>Popup Test!</H1>');
}
Es un test, y funciona perfectamente. Si pinchas en la imagen q llama a este metodo abre una nueva ventana escribiendo test. Si se vuelve a pinchar en la misma imagen, cierra la ventana existente y vuelve a abrir otra con lo mismo.
En cambio con la funcionalidad real no funciona:
Código PHP:
var ventanaExcel;
function cargaInformeExcel(){
if (ventanaExcel && !ventanaExcel.closed){
ventanaExcel.close();
}
ventanaExcel=window.open('http://xxxx/xxxx.do?accion=generarExcel', 'excel');
ventanaExcel.document.write('<H1>Popup Test!</H1>');
}
La url
http://xxxx/xxxx.do?accion=generarExcel retorna un excel que se incrusta en la pantalla abierta.
Pero al volver a dar al boton para q se cierre y se abra otra vez el excel, solo se cierra la ventana y no la abre, y es porq no entra por el
ventanaExcel.close(); sino que el propio open, cierra la ventana.
Si cambio el if
if (ventanaExcel && !ventanaExcel.closed){ por
if (ventanaExcel!=null ){
aparece un error de javascript
: Permiso denegado, en el .close().
El problema viene a que la ventana que se abre unicamente contiene el excel. Alguna solucino para q se comporte como si fuera html???