Jump to content
Anonym

fechar janela por função

Recommended Posts

Anonym

...

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

Share this post


Link to post
Share on other sites
Tiago Salgado

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

Share this post


Link to post
Share on other sites
teckV

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

Share this post


Link to post
Share on other sites
Tiago Salgado

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

Share this post


Link to post
Share on other sites
Anonym

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?

Share this post


Link to post
Share on other sites
teckV

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?

Share this post


Link to post
Share on other sites
Anonym

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?

Share this post


Link to post
Share on other sites
teckV

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

Share this post


Link to post
Share on other sites
deathseeker25

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:

Share this post


Link to post
Share on other sites
Anonym

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:

Share this post


Link to post
Share on other sites
NCS_One

Ois

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

nada ser perguntado ao user diz.


Se a vida te voltar as costas aproveita e apalpa-lhe o cu.

Share this post


Link to post
Share on other sites
NCS_One

Ois

Aqui vai :


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


Se a vida te voltar as costas aproveita e apalpa-lhe o cu.

Share this post


Link to post
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

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