dianaemanuel Posted October 2, 2014 Report Share Posted October 2, 2014 Boas tardes, Na minha página (que é um popup) chamo uma função que é enviado como parâmetro o documento que tenho aberto (página de onde é chamado o popup), o meu problema é que com através dessa variavel que declaro pretendo chamar uma função desse documento é possível? Link to comment Share on other sites More sharing options...
AngusYoung Posted October 4, 2014 Report Share Posted October 4, 2014 (edited) Sim, é possível. Ao abrires uma janela popup fazes, por exemplo: window.open("http://jsc.simfatic-solutions.com","mywindow","status=1"); O primeiro argumento da função window.open é o url para o qual o popup irá redirecionar o utilizador. A partir disto, é facil passares um parâmetro GET (por exemplo http://jsc.simfatic-solutions.com?parametro=algumValor). Se redirecionares para um url que contém código teu, podes preparar-te para avaliar o valor desse parâmetro e executar código conforme o valor deste. Outra forma de fazer isto seria teres todas as funções declaradas na página para a qual estás a redirecionar, e depois usar o objeto window que a função window.open retorna para chamar a função que quiseres, por exemplo: var myWindow = window.open("http://jsc.simfatic-solutions.com","mywindow"); if (parametro === 1) { mywindow.funcaoUm(); } else if (parametro === 2) { mywindow.funcaoDois(atePodesPassarArgumentos); } Mais informações aqui: http://www.javascript-coder.com/window-popup/javascript-window-open.phtml E aqui: http://www.javascript-coder.com/window-popup/javascript-window-close.phtml EDIT: Depois de ler um bocadinho melhor a tua pergunta, acho que o que tu queres saber é como chamar uma função da janela-mãe a partir da janela-filha, certo? Bem, é só usares window.opener, que é uma referência ao objeto window da janela que a abriu. Assim: // Dentro da janela-filha window.opener.funcaoQueQueresChamar(argumentos); Nota que a função deve ser global para a poderes chamar assim. Se estiver num objeto ou algo do género, tens de ir até ela a partir da referência à janela: window.opener.objetoGlobal.funcaoLaDentro(); Edited October 4, 2014 by AngusYoung Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now