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

Encontrar Janela Aberta


kuroi

Pergunta

no comando window.open:

window.open("pagina.htm", "xxx", "fullscreen=0, toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=1, resizable=0");

esse segundo parametro sei que é tipo um nome da janela. percebi que quando passo xxx ele abre numa nova janela ate ai beleza.

se eu uso de novo o comando window.open passando o "xxx" de novo, ele vai abrir a nova pagina na mesma janela que eu tinha aberto antes, caso ela esteja aberta ainda. se em vez de "xxx", por exemplo, eu passar "yyy" ele abre uma segunda janela, ficando assim duas janelas abertas. uma é a "xxx" e a outra é a "yyy".

o que eu queria saber é se tem como eu encontrar uma janela que já esteja aberta. exemplo, se o usuario já tiver aberto a janela "xxx", não quero abri-la de novo. tem como?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

mas... se o usuário abriu uma vez (xxx) e você não quer que ele abra novamente... você não passando um (yyy) por padrão ele abrirá em cima do (xxx).

não vi a necessidade de ter uma função pra verificar se a janela estiver aberta, a não ser que você queria na função algo do tipo

[se estiver aberta e a permissao for sim

abra nova janela yyy]

[se estiver aberta e a permissao for não

abra em cima da janela xxx]

Link para o comentário
Compartilhar em outros sites

  • 0

é o seguinte. tenho uma pagina asp (home.asp) que faz uma checagem no banco e dependendo do que encontrar, ele abre a janela xxx automaticamente cada vez que eu abro ou atualizo a pagina. o problema é que na pagina da janela xxx, ele tem um formulario que, no post, altera os dados exibidos na home.asp (que veem do banco). então, assim que faco o post na janela xxx, uso um comando para atualizar a pagina home.asp.

o problema é que quando a pagina é atualizada, ela vai abrir novamente a janela xxx. nisso, ele vai perder os dados que estao sendo exibidos atualmente na janela xxx (depois do post) pra mostrar a tela inicial do formulario (antes do post).

mas a janela xxx deve sim ser aberta todas as vezes que eu abrir ou atualizar a Home.asp (desde que esteja de acordo com as condicoes no banco), exceto quando a janela já esteja aberta. por isso tenho que saber se a xxx já foi aberta, entendeu??

sera que tem jeito? valeu andreia.

Link para o comentário
Compartilhar em outros sites

  • 0

pesquisando, vi que é possivel saber se uma janela está fechada.... mas não achei nada sobre como saber se ela está aberta.

janela = window.open('','J','');
janela.close();

if (janela.closed) alert("A janela identificada como J está fechada.")

Link para o comentário
Compartilhar em outros sites

  • 0

bom, se ela não está fechada é porque está aberta.

calma lá...

uma janela só é dita aberta quando você usa a instrução window.open(); e só é considerada fechada quando é usada a instrução [window.]close();

Se ela não está fechada, não há garantia de que ela tenha sido aberta uma primeira vez....

Link para o comentário
Compartilhar em outros sites

  • 0

sim, mas se eu não abri ainda, a variavel esta nula, é so eu checar antes.

isso ate funcionaria, mas, no meu caso, como eu atualizo a pagina a variavel é perdida e volta a ficar nula mesmo que a janela esteja aberta. então acho que vou ter que arranjar otro jeito mesmo...

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...