Allego il codice qui sotto:
Pagina table.html (cioè il popup) l'unica funzione che fa è chiamare la funzione sistema della pagina lobby.html
codice:
function allinea(){
window.opener.sistema();
}
Pagina lobby.html
Creazione popup: Viene aperto un nuovo popup e tutti quelli aperti vengono portati in primo piano. Questa funzione lavora perfettamente.
codice:
function newpopup(){
var fin=window.open("tavolo.html","","width=960, height=600");
finestre.push(fin);
for(i=0;i<finestre.length;i++){
finestre[i].focus();
}
}
Sistema: calcola le dimensioni e le posizioni dei popup in base alla risoluzione dello schermo e al numero dei popup aperti. Dopo di che li ridimensiona, li sposta e Dovrebbe portarli in primo piano.
I popup vengono spostati e ridiemensionati ma non vengono portati in primo piano
codice:
function sistema(){
for(i=0;i<finestre.length;i++){
if(finestre[i].location==null){
finestre.splice(i,1);
i--;
}
}
if(finestre.length>1){
var rapM,rapm;
if(rapH>rapW){
rapM=rapH;
rapm=rapW;
}
else{
rapM=rapW;
rapm=rapH;
}
var tav=finestre.length;
var r,c;
var intrM,intrm;
var trovato=false;
intrM=Math.floor(rapM);
intrm=Math.floor(rapm);
var tavM=intrM*intrm;
if(tavM>=tav)
trovato=true;
while (trovato==false){
intrm++;
intrM=Math.floor((intrm*rapM)/rapm);
tavM=intrM*intrm;
if(tavM>=tav)
trovato=true;
}
if(rapH>rapW){
r=intrM;
c=intrm;
}
else{
c=intrM;
r=intrm;
}
var newH,newW;
var rapH2=hS/(r*600);
var rapW2=wS/(c*960);
if(rapH2<rapW2){
newH=600*rapH2;
newW=960*rapH2;
}
else{
newH=600*rapW2;
newW=960*rapW2;
}
var rig=0;
var col=0;
var posx,posy;
for(i=0;i<finestre.length;i++){
posx=col*newW;
posy=rig*newH;
finestre[i].resizeTo(newW,newH);
finestre[i].moveTo(posx,posy);
col++;
if(col==c){
rig++;
col=0;
}
finestre[i].focus();
}
}
}
Spero mi possiate aiutare...