Olá.
Como programador, a minha, ferramenta "mais que tudo", é a Net. Durante os meus alguns anos de programação, tenho verificado que pouco ou quase nada existe, sobre desenvolvimento em "Português de Portugal".
Assim, começo a deixar aqui o meu contributo.
Se alguém estiver interessado em juntar-se a este pequeno projecto, contacte-me, terei todo o gosto em ter ajuda em contribuir ainda um pouco mais.
Agora, vamos ao que interessa:
Num dos meus últimos desenvolvimentos deparei-me com a necessidade de compatibilizar para o máximo de browsers o envio de uma página mãe (com uma ou mais janelas filhas ou child popups) para um endereço especifico enviado pela janela filha (child popup).
Numa situação em que teríamos apenas um popup, poderíamos chamar simplesmente em javascript o comando:
opener.navigate("o nosso url");
Mas neste caso, acontece em certas situações que temos popups abertos a partir de outros popups, ou seja, teríamos que percorrer todas as janelas abertas associadas ao nosso site, e encontrar qual a principal, ou pretendida, para a enviarmos para o endereço em questão.
Dado que a plataforma ASP.NET, por defeito, dá o nome de 'aspnetForm' à Form da principal no nossa página usando uma MasterPage, este seria o nome a procurar. E assim cheguei ao seguinte código:
Esta função será chamada ao invés do objecto da form, por exemplo:
É certo que ainda poderemos optimizar um pouco mais este algoritmo, mas por agora serve. :)
BRGDS
Como programador, a minha, ferramenta "mais que tudo", é a Net. Durante os meus alguns anos de programação, tenho verificado que pouco ou quase nada existe, sobre desenvolvimento em "Português de Portugal".
Assim, começo a deixar aqui o meu contributo.
Se alguém estiver interessado em juntar-se a este pequeno projecto, contacte-me, terei todo o gosto em ter ajuda em contribuir ainda um pouco mais.
Agora, vamos ao que interessa:
Num dos meus últimos desenvolvimentos deparei-me com a necessidade de compatibilizar para o máximo de browsers o envio de uma página mãe (com uma ou mais janelas filhas ou child popups) para um endereço especifico enviado pela janela filha (child popup).
Numa situação em que teríamos apenas um popup, poderíamos chamar simplesmente em javascript o comando:
opener.navigate("o nosso url");
Mas neste caso, acontece em certas situações que temos popups abertos a partir de outros popups, ou seja, teríamos que percorrer todas as janelas abertas associadas ao nosso site, e encontrar qual a principal, ou pretendida, para a enviarmos para o endereço em questão.
Dado que a plataforma ASP.NET, por defeito, dá o nome de 'aspnetForm' à Form da principal no nossa página usando uma MasterPage, este seria o nome a procurar. E assim cheguei ao seguinte código:
function findMainForm(startForm) {
var win = startForm;
var doc, form;
do {
doc = win.document;
form = doc.forms[0];
if (form.id == 'aspnetForm') {
return win;
}
else {
win = win.opener;
}
} while (form.id != 'aspnetForm');
}
Esta função será chamada ao invés do objecto da form, por exemplo:
function OpenPopUp(ID) {
findMainForm(window).location = '/urlExemplo?ID=' + ID;
}
É certo que ainda poderemos optimizar um pouco mais este algoritmo, mas por agora serve. :)
BRGDS
Comentários