Jump to content

fechar janela por função


Anonym
 Share

Recommended Posts

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...

Link to comment
Share on other 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?

Link to comment
Share on other 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?

Link to comment
Share on other 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?

Link to comment
Share on other 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

Link to comment
Share on other 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... 😁

Link to comment
Share on other 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  😁

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.