Ir para conteúdo
Fórum Script Brasil
  • 0

Script Que Fecha O Browser Diferente De Ie


RClotz

Pergunta

Olá!

Estava fazendo testes de uma tela em desenvolvimento que deverá abrir e fechar ao mesmo tempo, tendo como utilidade apenas carregar uma janela chromeless.

Só que esta pagina é a index, sendo assim a primeira pagina carregada, chamada pela barra de endereços do browser ou por atalho do windows.

Mas quando eu fui executar a mesma tela por netscape, mozilla e firefox, ele não executou a função. Verifiquei no console do javascript e ele informou o seguinte: "Scripts não têm permissão para fechar janelas que não foram abertas pelo script."

O que eu posso fazer pra que ele consiga fechar a janela?

Tenho algumas idéias que não sei se é possível...

* Talvez colocando um script que faz a função das teclas Alt + F4...

* Ou então, da própria janela chromeless, ao ser carregada, executar um script que fecha a janela que chamou o chromeless...

Agradeço a ajuda.

Abraços

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

" * Talvez colocando um script que faz a função das teclas Alt + F4..."

Isso não funciona no Mozilla e similares, pois você não pode atribuir valor a um evento, no teu caso de teclas.

" * Ou então, da própria janela chromeless, ao ser carregada, executar um script que fecha a janela que chamou o chromeless..."

Isso funciona porque o Mozilla trabalha a nivel de usuário com profile.

nunca mexi com chromeless, mas acredito q funcione...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Crystian.

Quanto à solução que você me passou, eu tenho apenas a idéia, mas não sei o como fazer porque a janela não foi aberta por um script, portanto, não possue um nome dado por uma função de javascript.

Como eu poderia fazer neste caso, então? Tem como eu dar um nome na janela, ou então dizer que a pagina que chamou o link deverá se fechar?

Obrigado pela atenção!

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, e quanto ao chromeless, ele não abre fora do IE, mas isso não tem problema. Ele é só uma pagina de frames com toda a moldura da janela e as barras do browser oculta.

Então trabalhar com o chromeless, seria a mesma coisa que trabalhar com uma página de frames, chamado por uma função (window.open).

Neste caso, como eu mandaria, dentro de uma pagina de frames, fechar a página que o chamou?

valeu.

Link para o comentário
Compartilhar em outros sites

  • 0

Nesse tópico que você postou acima Crystian eu coloquei como eu faço pra abrir janela já maximizada e como fechar ela, você pode ver se ela funciona no mozila?

Ah eu também escrevi umas coisinhas mais detalhadas sobre janelas láh no tópico FAQ, se alguém precisar dar uma olhada...

Falows...

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei executar no Firefox (que me disseram que é mais parecido com o IE) e ele deu o mesmo erro no console do Firefox ("Scripts não têm permissão para fechar janelas que não foram abertas pelo script."), apesar de não mostrar nenhuma mensagem na janela, agora se a função de fechar a janela for de uma janela já aberta por script, (ex: window.open("janela.htm","xxx")), a janela aberta pelo script terá o nome "xxx", então acho que é só determinar a janela a ser fechada conforme o exemplo do link relacionado acima.

Mas no caso da janela aberta pela primeira vez, digitado o nome da pagina na barra de endereços ou então por atalhos do windows ou favoritos, necessita de um tratamento diferente. Aparentemente precisaria de dar um nome na janela e depois, ao abrir a janela, executar a função fechar apontando para a janela em que estava o link.

Acredito que seja isso, mas ainda não encontrei a solução. Caso não se encontre a solução por javascript e tiver uma solução por configuração do Firefox, será de ajuda, pois o uso é em servidor interno.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi renan_doidera!

Pois é, eu estou usando a versão 1.0 Portugues e tentei fechar por script de váriasamaneiras, mas ele dá este mesmo aviso, de que ' janela não pode ser fechada por script, caso ela mesma não tenha sido aberta por um.'

Dentre as diversas formas em que tentei fazer este script, eu tentei usando este script:

<html> <body>
<a href="javascript:fecha()">Clique aqui para fechar a janela!!</a>
<script>
function fecha() {
 parent.window.opener=self;
 parent.window.close();
}
</script>
</body> </html>

Desta maneira ele não faz nenhuma ação, mesmo sem os "parent." e no console aparece aquele aviso.

Se for algum pacote que esteja faltando no Firefox ou tem outra versão que permita isso, ou então, tem outro browser que rode no Linux que seja mais parecido com o IE, é possível me enviar o endereço para download?

Porque eu tenho o Mozilla e o Firefox em Portugues e Ingles, mas da versão 1.0, e nenhuma delas deu certo este script.

valeu a ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Crystian, seria isto?

Porque eu tentei usar este código mas não deu em nenhum dos browsers. Este script é pra colocar na janela que será carregada pelo script window.open, não é isso? Porque eu tentei usar este código mas não fez nada na própria janela...

Acho que o conceito de tirar as barras de navegação da própria janela, é solucionavel, mas como disse, esta será a primeira janela a ser aberta, sendo nela que deveria ser feita as alterações.

O importante, no caso destes browsers específicos, seria abrir a janela e fechar a atual, ou então, eliminar as barras navegação do browser.

Eu fiz da seguinte forma:

<html> <body>
<a href="javascript: telaCheia()">Clique aqui para fechar a janela!!</a>
<script>
function telaCheia(){
 menubar.visible = false; 
 locationbar.visible = false; 
 personalbar.visible = false; 
 toolbar.visible = false;
}
</script>
</body> </html>

valeu a dica!

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz outros testes aqui e este script só funcionou no Netscape 7.1, já no Firefox e no Mozilla não fez nada, nem deu erro... este script funciona neles também ou é alguma zica na minha máquina? Porque eu estou usando o windows xp Professional com o Service Pack 2, e não no linux diretamente. Vou instalar numa maquina com windows 98 e depois testar num servidor linux pra ver se dá a mesma coisa ou se é só a minha maquina mesmo.

valeu.

Link para o comentário
Compartilhar em outros sites

  • 0

Puts!

Eu testei aqui em Windows XP e Windows 98, usando os browsers Netscape, Mozilla e Mozilla Firefox e deu os mesmos problemas, mas no caso do Linux - Red Hat, usando o browser Mozilla, ele não deu estes erros.

Acho que neste caso, então, não teria problema. É só o usuário usar o browser certo no SO. correto que ta tudo certo.

Obrigado pelo apoio e atenção dispensados!

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Éh esse lance de compatibilidade de scripts em diferentes browsers é muito chato mesmo cara....Acho que 90% dos scripts que eu faço só rodam no IE mesmo! Só com o tempo mesmo pra ir manjando essas paradas de compatibilidade e fazer um script que rode em muitos browsers...

Falows.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...