• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Anonym

fechar janela por função

13 mensagens neste tópico

...

eu tenho uma função em Javascript, que em "else" tem esta função window.close(); e o que se passa é que aparece uma janela confirm para confirmar se realmente deseja fechar a janela, que não foi programada por mim... deve ser do IE. E eu cria que a janela fecha-se sem se ter de confirmar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta com o "window.self.close();" ou "window.close(0);" ...acho q é assim uma coisa do genero

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

o problema não me parece que seja isso... eu sempre usei essa função e nunca me apareceu nenhuma janela de confirmação...

até estou a trabalhar neste momento num projecto onde uso isso

function goBack()
{

opener.document.formPedidos.txtDocumento.value= document.formUpload.txtValor.value;
//self.close();
window.close();	
}

como podem ver estava a usar o self.close() e estava a funcionar muito bem e só para confirmar a questão usei o window.close() e a janela fechou-se sem pedido de confirmação...

o problema deve estar noutro sitio... alias, quando se quere confirmação tens de criar um mecanismo para isso, pois o close não pergunta...

código com pergunta para confirmar o fecho da janela... verifica se não tens nenhuma função chamada "alert" ou "prompt"

Response=prompt ("Confirma o fechar da janela?", "");

envia o código da rotina onde usas isso para o ppl te ajudar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Suponho que o problema seja não usar o "opener" ... teckV experimenta por apenas o "windows.close();" ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o meu codigo é este....

<SCRIPT language="JavaScript">
var resposta = confirm ("Para melhor visualização da página, o browser adequado é o Mozila Firefox. De momento está a acerder com o Internet Explorer. Deseja continuar?") 

if ( navigator.appName.indexOf("Microsoft") != -1 ){
   resposta;
if (resposta) 
  	alert("ok...")
  	else
  	window.close() };

else
alert("esta a usar mozila, continue...")
</SCRIPT>

tambem tentei com o self.close(), windows.close(0)

e quando aparece o meu confirm ("Para melhor visualização da página, o browser adequado é o Mozila Firefox. De momento está a acerder com o Internet Explorer. Deseja continuar?") e o utilizador carrega "cancelar" o resultado é este  (anexo)

que devo fazer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ahhh.. ok já sei o que é.. como é uma coisa que nunca se faz não vi logo...

isso têm a ver com questões de segurança... os produtos têm vindo a sofrer algumas funcionalidade tipo "hardening" para se protegerem de maus scripts, isto é, para que não se criem sites que possam afectar negativamente o ambiente dos internautas criaram-se determinadas validadações que é o que está a acontecer.. se abrires uma janela child a partir de uma parent e usares o close não há problema.. o problema é quando estás na janela original, não lhe chamo parent porque assim é a unica, e usas o close ele faz essa pergunta para evitar scripts malignos e que fechem à força a janela sem que a pessoa queira... se a pessoa confirmar a janela é fechada...

com o tempo vão surgindo cenas destas...

é considerado uma pratica maliciosa fechar a janela aquando da sua criação... e pergunto.. porque queres fechar assim uma janela?

normalmente fazes a validação e se não tiver tudo como pretendes apresentas uma página com os resultados dos checks e dizes o que a pessoa precisa instalar ou fazer para ter os requesitos todos necessários à tua aplicação

tá um bocado confuso mas acho que dá para perceberes...

portantos o que te está a acontecer é normal... a questão é.. porque queres fazer isso assim?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pa responder... é assim eu tenho um site, que no mozilla firefox está tudo OK e no IE fica um bocado esquisito. Então como diz o código quando se entra no site, verifico o browser no caso de ser o IE, aparece o tal confirm("deseja continuar...") e no caso do user nao quisesse a janela fechava-se.... com isto nao tenho intenções maliciosas.

depois, verifiquei que a mesma função: windows.close quando executada a partir de um objecto funciona sem problemas.

então depois disto.. não á solução possivel para isto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a questão é que não é boa pratica fechar a janela à força sem que o user o deseje

vê assim

há um user que anda a navegar na net, de site em site, e chega ao teu site e de repente a janela fecha-se... é que o browser é um container de aplicações e é diferente de uma aplicação tipo windows forms. se criares uma aplicação tipo windows forms e a fechares, tas apenas afechar a tua aplicação.. mas num browser é diferente... podem até haver questões de sessão que o user não queira perder e por isso não deves fechar a janela...

não estou a dizer que tens más intenções, não é isso, têm apenas a ver com boas praticas de programação.. tipo... uma boa edução para programação...

eu digo-te outra vez... se verificares quando uma aplicação têm pre-requesitos, tipo precisa do mozila para funcionar bem, o que se costuma fazer é, depois de verificares que não e o mozila, em vez de fechares podes apresentar uma pagina onde dizes isso.. dizes que o site não funciona bem em Internet Explorer e como tál para a pessoa ver o teu site tem de usar o mozila... como um pre-requesito para utilizar o teu site...

esta solução resolve a tua cena... o user fica a saber que têm de usar o mozila e não precisas fechar a janela porque o user pode quere continuar a sua navegação noutro site... é da responsabilidade do user fechar a janela, se assim desejar...

na programação também existe boa educação... és estranho falar assim e não tou a dizer que não és bem educado.. nada disso...

eu fazia assim... não há necessidade de fechares a janela ao user...

fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pa responder... é assim eu tenho um site, que no mozilla firefox está tudo OK e no IE fica um bocado esquisito. Então como diz o código quando se entra no site, verifico o browser no caso de ser o IE, aparece o tal confirm("deseja continuar...") e no caso do user nao quisesse a janela fechava-se.... com isto nao tenho intenções maliciosas.

depois, verifiquei que a mesma função: windows.close quando executada a partir de um objecto funciona sem problemas.

então depois disto.. não á solução possivel para isto?

Já tentaste validar o site com o W3C Validator? Assim não precisarias de JavaScript para detectar o browser... :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a questão é que não é boa pratica fechar a janela à força sem que o user o deseje

vê assim

há um user que anda a navegar na net, de site em site, e chega ao teu site e de repente a janela fecha-se... é que o browser é um container de aplicações e é diferente de uma aplicação tipo windows forms. se criares uma aplicação tipo windows forms e a fechares, tas apenas afechar a tua aplicação.. mas num browser é diferente... podem até haver questões de sessão que o user não queira perder e por isso não deves fechar a janela...

não estou a dizer que tens más intenções, não é isso, têm apenas a ver com boas praticas de programação.. tipo... uma boa edução para programação...

eu digo-te outra vez... se verificares quando uma aplicação têm pre-requesitos, tipo precisa do mozila para funcionar bem, o que se costuma fazer é, depois de verificares que não e o mozila, em vez de fechares podes apresentar uma pagina onde dizes isso.. dizes que o site não funciona bem em Internet Explorer e como tál para a pessoa ver o teu site tem de usar o mozila... como um pre-requesito para utilizar o teu site...

esta solução resolve a tua cena... o user fica a saber que têm de usar o mozila e não precisas fechar a janela porque o user pode quere continuar a sua navegação noutro site... é da responsabilidade do user fechar a janela, se assim desejar...

na programação também existe boa educação... és estranho falar assim e não tou a dizer que não és bem educado.. nada disso...

eu fazia assim... não há necessidade de fechares a janela ao user...

fica bem

thanks! problem resolved  :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ois

Tou de acordo com o techV mas se ainda quiseres saber como fechar uma janela sem

nada ser perguntado ao user diz.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ois

Aqui vai :


window.opener=self;
self.close();
[/Code]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora