Skin_ Postado Janeiro 23, 2004 Denunciar Share Postado Janeiro 23, 2004 Olá pessoal...pra que serve a propriedade opener do objeto window... (tentei entender a explicação do MSDN mas não caiu a ficha!)E como eu posso configurá-la?A propósito: o que quer dizer a linha de código self.close(); ?Obrigado!Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 diraol Postado Janeiro 23, 2004 Denunciar Share Postado Janeiro 23, 2004 cara, eu nem cheguei a ver a explicação do MSDN... mas acho que o opener é pra identificar a janela ............e no caso o self.close é pra fechar a janela SELF... por isso q antes teria q ter o window.opener=selfmas eu não sei direito, essa explicação detalhado eu vou ter q ficar devendo por enquanto... num posso entrar no MSDN agora pra ver se eu entendo e te passo .... mas alguém ai vai saber não é? galera??hehehehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Janeiro 24, 2004 Autor Denunciar Share Postado Janeiro 24, 2004 sabe cara...tah um pouco difícil de entender a lógica do JavaScript...Me ajude com uma coisa... (vou tentar explicar!)estou tentando entender esse código://Arquivo: index1.html: <script> function abre() { window.open('index2.html'); window.opener = self self.close(); } </script> <body onLoad="abre()"> window é um objeto, certo? bem... opener é uma propriedade do objeto window que me dirá como os documentos serão abertos no objeto window: _self, para abrir na mesma janela; _blanck, para abrir em outra... (estou errado?) Qaundo se fez: window.open('index2.html'); Criou-se uma nova janela pop up cujo conteúdo é o arquivo index2.html... E com: wndow.opener = self; acabou-se dizendo que os documentos abertos na nova janela jenela subescreverão o atual, certo? Agora, duas perguntas: eu poderia simplismente ter definido a propriedade window.opener = self fazendo como abaixo? window.open('index2.html','_self'); E, porque o próximo passo é fazer: self.close() esta linha faz referencia a qual objeto [window]? Ao que acabamos de criar e definimos sua prop. opener como self... ou ao antigo que disparou a função abre() no evento onLoad??Essa linha não faz sentido para mim...Se alguém me entendeu, será que poderia me explicar?Obrigado....ps: pra eu programar, reciso entender como o interpretador vai ler os códigos, e isso ninguém ensina... infelizmente!Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 diraol Postado Janeiro 24, 2004 Denunciar Share Postado Janeiro 24, 2004 cara, vamos tentar até conseguir....... seguinte........ window.opener = self; --> acho que esta linha cria um tipo de variável SELF......... sacou??...... vou te dar um exemplo pra ver c você pega...window.open("link2.html","pop","")window.opener = poppop.closeou seja, você abre e fecha a janela POP....... seria algo assim q eu to imaginando, não sei se é o correto........window.open('index2.html','_self'); --> isto você não pode fazer porque dentro do window.open você tem comandos específicos.... "LINK","NOME","CARACTERISTICAS" ....... sacou?? por isso q não pode por o self....o proximo passo é self.close porque você tem q mandar fechar... ai no caso ele fecha a janela SELF.... que é definida como window.opener..... =)acho que esse foi mais um passo hein...heheheainda vamos chegar a uma solução.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Janeiro 24, 2004 Autor Denunciar Share Postado Janeiro 24, 2004 seguinte........ window.opener = self; --> acho que esta linha cria um tipo de variável SELF......... sacou??...... cara, mais ou menos...ou seja, você abre e fecha a janela POP....... seria algo assim q eu to imaginando, não sei se é o correto........Bem... esse código abre uma pop up e depois fecha a janela que disparou a função abre(), deixando apenas a pop up aberta.... - ao contrário do que você disse!É... eu tembém não entendi!window.open('index2.html','_self'); --> isto você não pode fazer porque dentro do window.open você tem comandos específicos.... "LINK","NOME","CARACTERISTICAS" ....... sacou?? por isso q não pode por o self....cara... olha o q a MSDN fala disso... (Entra em Methods -> open...)o proximo passo é self.close porque você tem q mandar fechar... ai no caso ele fecha a janela SELF.... que é definida como window.opener..... =)Self ficou sendo o nome da janela? O que seria uma janela Self? E, o que seria uma janela definida como window.opener? (Não saquei nada! )Bem... obrigado por estar me ajudando! Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 diraol Postado Janeiro 24, 2004 Denunciar Share Postado Janeiro 24, 2004 tava vendo o site do MSDN e realmente....... você pode usar o self ali sim, eu não sabia daquilo......... mas ai você apenas está dizendo que o navegador deve abrir a janela na mesma página, e não numa nova janela... ou seja, não seria bem um window.open pois não abriria uma janela nova e sim uma página dentro da janela atual....... certo???.....sobre o window.opener é o seguinte.................ele faz a referência à janela mãe, aquela que criou a janela nova...... o que acontece ali é que você cria uma referência, um vínculo do código à janela principal.... ai quando você define que ela é igual a SELF você está dizendo que os comandos direcionados pra SELF devem ser executados na janela inicial, a que contém o código.....por isso que o self.close fecha a janela primordial....... pois o self se refere à mesma...... muito confuso??nós ainda vamos conseguir....hehehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Janeiro 24, 2004 Denunciar Share Postado Janeiro 24, 2004 Bem, eu não me comparo com o Diraol, mas vou tentar ajudar também O opener serve pra abrir uma página expecifica num outro frame ou numa nova janela, sendo que a página que é executa o opener é fechada.Então ela abre uma nova e se fecha, sacaram?Tenho um código aki, muito útil, vejam se o entendem e se é útil à vocês também Isso vai dentro das tags <head> </head><script language="JavaScript"> function pagina(url) { window.opener.document.location.href = ""+url window.close(); } </script> Isso dentro da <body> </body>, lógico. <a href="#" onClick="javacript:pagina('login.asp');">Clique aqui e efetue seu login</a> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 diraol Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 ,Jan 24 2004, 08:31 PM]Bem, eu não me comparo com o Diraol, mas vou tentar ajudar também pô cara... não é assim...heheheheeu apenas sou um cara que põe em prática as coisas... mas nem sei tanto assim não... tanto que estou sofrendo aki pra ajudar ele...hehehehehee valeu pela explicação!!!!!! Muito boa.... falou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 Hehehe, é freskura brother Esse código ae eu fiz digamos, pois eu achei um na net e tentei modificar ele pra ficar como eu keria, e consegui.Também não sei javascript digamos, mas tentando entender / interpretar o código o cara consegue, além do mais q eu sei um pouquinho de ASP né, dae ajuda. Mas e ae, deu pra ajudar a solucionar o problema do brother aí?Espero que sim. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 pode usar o opner para retornar valores de uma janela aberta.. achei um monte de assuntos destes ai pesquisando no Forum..Da uma pesquisada... tem uns ex. do jissa e do Andre Gusmao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Janeiro 25, 2004 Autor Denunciar Share Postado Janeiro 25, 2004 mas ai você apenas está dizendo que o navegador deve abrir a janela na mesma página, e não numa nova janela... ou seja, não seria bem um window.open pois não abriria uma janela nova e sim uma página dentro da janela atual....... certo???.....OK... isso eu saquei.... Afinal, o que é o segundo argumento da função open()? O nome da nova janela, ou o método de abertura da nova janela? Eu poderia, após chamar a funçãowindow.open('pagina.htm','POP'); fazer POP.close() pra fechar a janela que eu criei?? Ou seja, "POP" ficaria sendo o nome da nova Janela? _____________________________________________________________ sobre o window.opener é o seguinte................. ele faz a referência à janela mãe, aquela que criou a janela nova Certo... até aí tudo bem! Desta forma, ao fazer window.opener = self; estarei definido a propriedade "opener" da janela que disparou a função abre() como sendo igual a self! Ótimo! O que isso significa? self será o novo nome da primeira janela? ai quando você define que ela é igual a SELF você está dizendo que os comandos direcionados pra SELF devem ser executados na janela inicial, a que contém o código..... Aqui você está dizendo que SELF é o nome da janela inicial, não é? Então.... eu poderia fazer window.opener = Blablabla; Blablabla.close(); e isso fecharia a janela mãe?(Em caso afirmativo, por que raios colocar a palavra self e não qqer outra? Vou além... porque preciso especificar isso e não só fazer: window.opne("pagina.htm","POP",""); window.close(); ) muito confuso?? Acho que não... me parece que estou começando a entender O opener serve pra abrir uma página expecifica num outro frame ou numa nova janela, sendo que a página que é executa o opener é fechada. Então ela abre uma nova e se fecha, sacaram? Guto, não saquei sua esplicação... O que você fez não é a mesma coisa que function Abre() { window.open("login.asp","LOGIN"); window.opner= self; self.close();? Apesar de não entender a necessidade das últimas duas linhas... acho que esse código é parecido com o seu! (estou sendo muito ousado.... num manjo nada JavaScript, mas o lance é que tá um pouco complicado de entender a lógica...)Obrigado por estarem me ajudando!!! Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 diraol Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 então cara, eu também fiquei meio confuso com essa coisa do 'nome' da janela...heheheassim.... tenta fazer com o POP... como no exemplo que você criou... ou com o BLABLABLA.... veja se funciona...... eu não tenho como ficar testando pois estou sem o meu pc..... agora..... bem, faça os testes e nos diga o resultado... dependendo do que acontecer pode ficar mais fácil.... falou ae!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sparrow Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 Deixa eu ver se eu entendi: você tem uma janela normal que abre uma pop-up e o "X" da coisa é o opener e o self, certo?opener serve para fazer referência à janela que abriu a pop (opener=a q abre)self serve para fazer referência à janela que estiver em foco, independente do nome ou de ser a janela que abriu ou a que foi aberta.Então, se você abrir uma pop-up e nela tiver o link<a href="#" onClick="self.close">fecha esta janela</a>irá fechar a janela que estiver com a função self.closee se for<a href="#" onClick="opener.close">fecha a janela q me abriu</a>fechará a janela que deu origem (e o navegador pede pra você confirmar se quer fechar ou não) ok? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Janeiro 25, 2004 Denunciar Share Postado Janeiro 25, 2004 para que serve.. muito simples, é Uma referencia de retorno a Janela ou Frame que abriu a Janela Atual.window.opener.location=http://www.superscript.com.brself.. é Uma referencia a Janela ou Frame ATUALself.location=https://www.scriptbrasil.com.brparent.. Uma referencia de retorno a Janela na qual o Frame foi declarada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Janeiro 26, 2004 Autor Denunciar Share Postado Janeiro 26, 2004 Hum... agora estou entendendo...e, quando você faz:window.opener = self; estará mudando o foco para a janela que disparou o evento. (ou seja, para àquela cuja a propriedade window.opner aponta!) Hum.... interessante isso.... Claro!!! Depois de focar a janela anterior, faz todo o sentido executar: self.close()para fechar a janela mãe, pois a janela em foco deixou de ser a pop up!Se eu estiver errado... por favor me corrijam....no mais...MUITO OBRIGADO PELA AJUDA!!!! Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 André Gusmão Postado Janeiro 27, 2004 Denunciar Share Postado Janeiro 27, 2004 "opener" é a referência da janela "pai", ou seja, o objeto window que deu origem a outro objeto window."self" é simplesmente o próprio objeto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Skin_
Olá pessoal...
pra que serve a propriedade opener do objeto window... (tentei entender a explicação do MSDN mas não caiu a ficha!)
E como eu posso configurá-la?
A propósito: o que quer dizer a linha de código
?
Obrigado!
Skin_
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
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.