Jump to content

declarar document como variavel


dianaemanuel
 Share

Recommended Posts

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

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 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.