Cerrar ventana Web

Cerrar ventana Web

Postby Manuel Valdenebro » Sun Jan 18, 2009 11:12 am

En una aplicación, tengo un diálogo donde se incrusta, mediante activeX, una pagina web. El diálogo y consecuentemente la página web, solo puede cerrarse pulsando el icono "X", en la parte superior derecha de la ventana. En dicha página tengo una serie de rutinas y entre ellas, la de grabar una serie de eventos. Por ello necesitaria que al finalizar una de dichas rutinas, la ventana se cerrará automaticamente, sin tener que pulsar la "X". He intentado con varias rutinas en javascript, pero aunque me sale la ventana del Explorer para que le confirme el cierre de la ventana, no la cierra.
¿Habría alguna manera que pulsando otro botón en la página, se pudiera cerrar la ventana?.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Cerrar ventana Web

Postby Antonio Linares » Sun Jan 18, 2009 9:49 pm

Manuel,

Tal vez podrias asociar un evento, como el de pulsar un determinado boton o un enlace, y desde ese evento llamar a oWnd:End()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41394
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Cerrar ventana Web

Postby Manuel Valdenebro » Mon Jan 19, 2009 7:12 am

Antonio Linares wrote:Manuel,

Tal vez podrias asociar un evento, como el de pulsar un determinado boton o un enlace, y desde ese evento llamar a oWnd:End()


Antonio, muchas gracias por contestarme.

El problema lo tengo que una vez abierta la página web con el activeX, dentro de esa página, no se reconoce ni el objeto oActiveX, y consecuentemente, ninguna de sus propiedades.

En un ejemplo, en el módulo donde programo el dialogo, he puesto:

oActiveX:Do( "Navigate2",(CurDrive() + ":\"+CurDir()+"\tem.htm") )
oActiveX:SetProp( "cSalir", .t. )

pero despues, en la página, no reconoce el objeto oActiveX
Lo he intentado de las siguientes formas:
var x = oAciveX.cSalir
var x = document.getElementById(oActiveX.cSalir).value ;
var x = document.cSalir ;
var x = window.cSalir ;
var x = oAciveX.cSalir
var x = oActiveX:GetProp( "cSalir" ) )

¿Podrias ayudarme de como desde la página, bien en HTML o en JavaScript, podria conocerse el valor de la propiedad cSalir?

Muchas gracias por tu ayuda
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Cerrar ventana Web

Postby Antonio Linares » Mon Jan 19, 2009 7:02 pm

Manuel,

Te refieres a acceder al objeto oActiveX de FWH desde Javascript o VBscript ? No lo hemos probado nunca, habria que investigar la forma de hacerlo.

Yo me refería al uso de oActiveX:bOnEvent. Por favor revisa FWH\samples\webexp.prg y verás como lo usamos para reaccionar a los eventos que se generan en la página web.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41394
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Cerrar ventana Web

Postby Manuel Valdenebro » Mon Jan 19, 2009 10:09 pm

Muchas gracias Antonio,

Voy a revisarlo.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Cerrar ventana Web

Postby Manuel Valdenebro » Tue Jan 20, 2009 9:14 am

Antonio, ¡ Triunfo total !

En la página web, a través de JavaScript, modifico el título de la página y este evento es captado por la función EventInfo que ejecuta el oDlg:End(). De esta manera, se cierra
la ventana y además, se evita el molesto aviso de Windows "Una aplicación está intentando cerrar esta ventana".

Muchas gracias de nuevo.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Cerrar ventana Web

Postby Antonio Linares » Tue Jan 20, 2009 6:23 pm

Manuel,

Muy bien! Me alegro de que lo hayas conseguido :-)

Podrias mostrar parte del código para que otros usuarios veamos como lo has hecho ? gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41394
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Cerrar ventana Web

Postby Manuel Valdenebro » Tue Jan 20, 2009 7:42 pm

Antonio Linares wrote:Manuel,

Muy bien! Me alegro de que lo hayas conseguido :-)
Podrias mostrar parte del código para que otros usuarios veamos como lo has hecho ? gracias



1) En el código de la página web (HTML), al pulsar el botón GRABAR, se dispara una función Javascript que realiza una serie de tareas y al finalizar las mismas, colocamos la siguiente línea:

window.document.title = "cerrar" ;


2) En la aplicación FiveWin, cuando abrimos la página con activeX, añadimos lo siguiente:

oActiveX:Do( "Navigate2",(CurDrive() + ":\"+CurDir()+"\temp.htm") )

oActiveX:bOnEvent = { | event, aParams, pParams | EventInfo( event, aParams, pParams, oActiveX, oDlg ) }

.......
.......


3) La función EventInfo (ejemplo en samples\webexp.prg), la dejamos con el siguiente código:

function EventInfo( event, aParams, pParams, oActiveX, oDlg )
if event == "TitleChange"
if aParams[ 1 ] = "cerrar"
oDlg:End()
endif
endif
return nil


-------------------------------------------------------------
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Cerrar ventana Web

Postby Antonio Linares » Tue Jan 20, 2009 7:48 pm

Manuel,

Una solución simple y brillante :-)

gracias,
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41394
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 24 guests