none
Dúvidas com Pop-up RRS feed

  • Pergunta

  • Olá Amigos,

    Tenho algumas dúvidas sobre pop-up com javascript para resolver algumas situções.

    Identificar que já existe um pop-up aberto da mesma página mas com outros parametros, para evitar que seja aberto uma nova página, e quando sair da página que gerou o pop-up, o mesmo seja fechado.

    Desde já agradeço

    Fábio Santos

    quinta-feira, 30 de novembro de 2006 17:12

Respostas

  • Fábio,

    Tenho esta função que faz justamente isso que quer. O mesmo verifica se já tem uma janela aberta, caso tiver, é fechado automaticamente. Veja o script.

    //Função para abrir páginas popup que já verifica se a altura e largura da página
    //ultrapassam o tamanho da tela e ajusta para o tamanho da tela e centraliza a
    //página também.
    //O "window.onunload = ..." verifica se já possui uma página filho aberta e fecha a tela popup
    //ao sair da tela pois a popup é declarada com a varável "newWindow".
    //autor: Mauricio Junior
      
    var newWindow;

    window.onunload = function anonymous(){if (newWindow != undefined){newWindow.close();}}
       
    function abrir(pagina, largura, altura, topo, esquerda, max){
        var iTamAltura = altura
        var iTamLargura = largura
       
        if (altura >= screen.availHeight){
            iTamAltura = screen.availHeight - 50;
        }
           
        if (largura >= screen.availWidth){
            iTamLargura = screen.availWidth - 50;
        }
       
        var LeftPosition = (screen.availWidth) ? (screen.availWidth-iTamLargura)/2 : 0;
        var TopPosition = (screen.availHeight) ? (screen.availHeight-iTamAltura)/2-10 : 0;
       
        if (newWindow != undefined){
            newWindow.close();
        }
       
        //alert(max);
        if (max == undefined)
        {
            newWindow = window.open(pagina,"","status=no,menubar=no,scrollbars=yes,toolbar=no,location=no,resizable=no,width="+iTamLargura+"px, height="+iTamAltura+"px, left="+LeftPosition+", top="+TopPosition)
        }else{
            newWindow = window.open(pagina,"","status=no,menubar=no,scrollbars=yes,toolbar=no,location=no,resizable=yes,width="+iTamLargura+"px, height="+iTamAltura+"px, left="+LeftPosition+", top="+TopPosition)
        }
    }

    Espero ter ajudado.
    sexta-feira, 1 de dezembro de 2006 14:00

Todas as Respostas

  • Alguém...
    quinta-feira, 30 de novembro de 2006 20:30
  • Fábio,

    Tenho esta função que faz justamente isso que quer. O mesmo verifica se já tem uma janela aberta, caso tiver, é fechado automaticamente. Veja o script.

    //Função para abrir páginas popup que já verifica se a altura e largura da página
    //ultrapassam o tamanho da tela e ajusta para o tamanho da tela e centraliza a
    //página também.
    //O "window.onunload = ..." verifica se já possui uma página filho aberta e fecha a tela popup
    //ao sair da tela pois a popup é declarada com a varável "newWindow".
    //autor: Mauricio Junior
      
    var newWindow;

    window.onunload = function anonymous(){if (newWindow != undefined){newWindow.close();}}
       
    function abrir(pagina, largura, altura, topo, esquerda, max){
        var iTamAltura = altura
        var iTamLargura = largura
       
        if (altura >= screen.availHeight){
            iTamAltura = screen.availHeight - 50;
        }
           
        if (largura >= screen.availWidth){
            iTamLargura = screen.availWidth - 50;
        }
       
        var LeftPosition = (screen.availWidth) ? (screen.availWidth-iTamLargura)/2 : 0;
        var TopPosition = (screen.availHeight) ? (screen.availHeight-iTamAltura)/2-10 : 0;
       
        if (newWindow != undefined){
            newWindow.close();
        }
       
        //alert(max);
        if (max == undefined)
        {
            newWindow = window.open(pagina,"","status=no,menubar=no,scrollbars=yes,toolbar=no,location=no,resizable=no,width="+iTamLargura+"px, height="+iTamAltura+"px, left="+LeftPosition+", top="+TopPosition)
        }else{
            newWindow = window.open(pagina,"","status=no,menubar=no,scrollbars=yes,toolbar=no,location=no,resizable=yes,width="+iTamLargura+"px, height="+iTamAltura+"px, left="+LeftPosition+", top="+TopPosition)
        }
    }

    Espero ter ajudado.
    sexta-feira, 1 de dezembro de 2006 14:00
  • Obrigado Mauricio, irei estudar o código

    um abraço

    Fábio Santos

    segunda-feira, 4 de dezembro de 2006 16:16