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

Opener Do Opener + Ação


baalzamon

Pergunta

Certo, talvez o titulo não diga muito sobre o que é minha duvida...

Imaginem a situação...

Tenho uma janela X que chama uma popup Y com opções e uma dessas opções chama a popup Z e fecha o popup Y, ou seja, temos na tela a janela X e o popup Z abertos...

Eis que ao salvar uma alteração no popup Z, eu tenha que fechar ele (window.close()) e tenha que recarregar a janela X... e aí começam os problemas

-o Popup Z não pode referenciar o opener Y porque ao abrir Z, Y foi fechado

-Tenho que referenciar a janela X diretamente por Z para dar um click em um botão de X que recarregará a janela (objeto.click())

Bem, não tenho opener (null) e preciso referenciar outra janela...

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

oi,

não ficaria mais facil se você usasse um cookie para controlar isso?

tipo, quando a tela Z salvar informacoes, grave um valor no cookie que indique que a tela X deve ser atualizada.

e sempre que você der foco na tela X você verifica o cookie pra saber se é preciso dar um refresh na tela ou não.

at+

Link para o comentário
Compartilhar em outros sites

  • 0

Pensei em uma forma mais interessante usando cookie!!

Ao invés de checar somente quando eu der o foco na janela, eu poderia criar uma função na janela X que roda de 1 em 1 segundo pra checar o cookie... e se ele encontrar a ordem pra atualizar a janela, ele o faz e apaga o conteúdo do cookie...

Visto que o cookie não terá mta coisa, isso não se torna um processo pesado... o que acha mestre?

Link para o comentário
Compartilhar em outros sites

  • 0

opa,

então... verificar a cada 1 segundo, é uma solucao que você pode adotar sim.

só não acho que seja a melhor.

porque imagina... se você ficar 1 hora sem abrir a popup Z, é 1 hora que você vai ficar verificando cookie des-necessariamente.

tudo bem que não gere um processo muito pesado. mas é um processo! hehe

seria melhor colocar um evento pra disparar só quando você retorna a usar a janela X.

na tag <body> coloque assim:

<body onfocus="java script:alert();">

no lugar do alert coloque seu metodo js que verifica o cookie.

é simples. :)

at+

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu mestre!!!

e pra caso alguém queira saber como eu fiz...

na janela X:

o js

<script>
   function checarCookie(){
      cookieContent = document.cookie;
      if(cookieContent.search(/<nomedoprograma>/ig) != -1){
          document.cookie = cookieContent.replace(/<nomedoprograma>/ig,""); //caso exista algo a mais no cookie por segurança
          document.form.<botaoquerecarrega>.click();
      } 
</script>
onde: <nomedoprograma> = o nome do seu programa que no caso o meu cookie vai conter o nome do programa a ser atualizado <botaoquerecarrega> = no meu caso, eu teria que clicar em Localizar se fosse manualmente, então mandei um click nele quando a janela Z termina sua ação:
<script>
   function definirCookie()
   {
      document.cookie = "<nomedoprograma>";
   }
</script>

e no body da janela X eu chamei a função checarCookie pelo onfocus =D

Valeu denovo mestre!

Editado por baalzamon
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,4k
×
×
  • Criar Novo...