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

Popups aberto por onclick e por função ficam diferentes


DiegoCC

Pergunta

Vou explicar o que estou fazendo, eu abro uma janela popup com onclick e armazeno em um array para depois verificar se foi aberta, isso é para um chat, então eu falo pela janela e no outro computador ele abre uma janela, quando o outro cara responde lá, aqui abre outro popup. Sempre o cara que começou a conversa fica com duas janelas abertas, a que abriu com onclick no nome do contato e a que abriu automaticamente depois de receber a mensagem.

Estou usando uma função para abrir os popups, essa é minha duvida, porque os dois procedimentos usam a mesma função.

alguém sabe o que pode ser isso e como resolver?

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Armazena em um array??????????????

Estou usando uma função para abrir os popups, essa é minha duvida, porque os dois procedimentos usam a mesma função.

Cara, não entendi patavinas....rsrsrs

Link para o comentário
Compartilhar em outros sites

  • 0

function abrirPopup(usu_chat,nome) {
        janelaAberta[nome] = window.open(url,nome,'width=500,height=350')
}
Abrindo no onclick ou automaticamente ao receber a mensagem, é sempre por essa function. E depois tenho uma verificação para saber se a janela está aberta ou não, por esse array janelaAberta, só que quando eu abro a janela no começo da conversa parece que ela não é registrada. Ex:
- Abro janela e envio mensagem
- Contato recebe mensagem
- Contato responde mensagem
- Abre outra janela pra mim
No ultimo passo, como a janela já está aberta e armazenada no array janelaAberta, não era pra abrir nova janela e sim continuar a que está aberta. O problema não acontece quando:
- Contato abre janela
- Eu abro janela e envio mensagem
- Contato recebe a mensagem (na janela que ele abriu)

Exatamente como deveria acontecer pra quem envia a mensagem.

Alguma ideia?

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi...

É necessário empilhar no array essas janelas ? Não tem como fazer a função abrir apenas passando o nome da janela como argumento? Assim você poderia passar um nome "fulano" e o navegador que vai trabalhar essa parte de abrir a janela caso a janela não esteja aberta, já que o navegador vai tentar abrir a tela sempre no nome que passar, caso o nome não existir ele abriria uma nova...

Parece que o seu sistema é um pouco complexo, talvez fique dificil tentar ajudar caso a abstração seja grande, tenho poucos dados e quase nenhum código.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu preciso armazenar em um array, porque to usando ajax pra pegar as mensagens, e caso a janela esteja aberta ele não tenta abrir outra e só adiciona a mensagem a janela, se não fizesse essa verificação, ele ia ficar dando reload na pagina a cada mensagem recebida.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, aquela hora eu estava saindo do trabalho por isso só pude dar mais detalhes agora.

Eu tenho uma função:

function abrirPopup(usu_chat,nome) {
        janelaAberta[nome] = window.open(url,nome,'width=500,height=350')
}
Mais embaixo eu tenho uma lista de contatos com o link assim:
<a href="#" onclick="abrirPopup(usu_chat,nome);">Contato</a>
E em uma outra parte do codigo eu faço a verificação se o popup já está aberto com o seguinte codigo:
function verificaPopup(usu_chat,nome) {
    if(janelaAberta[nome]!=null && janelaAberta[nome].closed) {
       abrirPopup(usu_chat,nome);
    }else if(janelaAberta[nome]==null){
       abrirPopup(usu_chat,nome);
    }
}

Essa função verificaPopup é chamada por Ajax quando o usuário recebe uma nova mensagem, na minha visão ao ser chamada a função abrirPopup por click do link ou pela função verificaPopup era pra ser a mesma coisa, porém quando eu clico no Contato para abrir a janela, essa janela não é reconhecida como aberta e abre novamente quando acionado via Ajax. :huh:

Link para o comentário
Compartilhar em outros sites

  • 0

É velhinho..vou ser muito sincero com você, não vejo nada de errado pelo menos nos códigos que passou....

Realmente da minha parte não conseguirá ajuda, porque não faço a menor idéia do porque está dando errado rssrs.

Sinto muito.

Link para o comentário
Compartilhar em outros sites

  • 0
Ok, obrigado mesmo assim pela atenção. :D

Agora vou aguardar pra ver se alguém sabe! :P

Cara pelo que analizei tive um problema semelhante a função somente uma janela no meu era uma coisa simples havia compatibilidades de nomes

ou seja o nome da janela aberta pelo onclick é igual a aberta automaticamente ou seja é substituida você deve trocar os nome sendo que onclick nome diferente de nome da janela automatica se ajudar posta ai se não ajudar posta ai tambem ate boa sorte

Link para o comentário
Compartilhar em outros sites

  • 0
Ok, obrigado mesmo assim pela atenção. :D

Agora vou aguardar pra ver se alguém sabe! :P

Cara pelo que analizei tive um problema semelhante a função somente uma janela no meu era uma coisa simples havia compatibilidades de nomes

ou seja o nome da janela aberta pelo onclick é igual a aberta automaticamente ou seja é substituida você deve trocar os nome sendo que onclick nome diferente de nome da janela automatica se ajudar posta ai se não ajudar posta ai tambem ate boa sorte

Meu problema é o contrario de que você falou, eu tenho uma janela com mesmo nome mas dependendo da forma que seja aberta ela abre outra! Eu quero mesmo é que fique uma janela só abrindo das duas formas.

Estraaanho!!! :blink:

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