Jump to content
Fórum Script Brasil
  • 0

Script Que Fecha O Browser Diferente De Ie


RClotz

Question

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

15 answers to this question

Recommended Posts

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...