Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maurohpg

[Resolvido] Abrir popup Fancybox apenas uma vez

Recommended Posts

Estou com um problema que não consigo resolver e não vi nada aqui no forum sobre isso, tenho um site que abre um fancybox, esse site é usado a index.php para o site todo só abre as páginas puxando por id=nome por exemplo http://www.xxx.com.br/?listar=noticias então toda vez que clico em um link esse popup fancybox abre, já tentei de tudo para resolver isso, alguém sabe como posso resolver isso? é o mesmo esquema dos popups de propaganda da uol que só abre uma vez de você der um f5 ele nao abre, só se você fechar o navegador, será que alguém tem uma luz?

 

Agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra, provavelmente voce tem que gravar em uma session a informacao que o popup ja foi aberto!

 

 

pelo que voce descreve: ele so deve abrir quando o cliente fechar o navegador

 

isso geralmente é feio com session (so somem quando fecha o navegador ou acaba o tempo limite), voce grava alguma sessao no navegador do cliente e antes de exibir o popup voce verifica se ja nao existe essa session gravada, se houver voce nao exibe o pop up senao voce exibe!

 

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra, provavelmente voce tem que gravar em uma session a informacao que o popup ja foi aberto!

 

 

pelo que voce descreve: ele so deve abrir quando o cliente fechar o navegador

 

isso geralmente é feio com session (so somem quando fecha o navegador ou acaba o tempo limite), voce grava alguma sessao no navegador do cliente e antes de exibir o popup voce verifica se ja nao existe essa session gravada, se houver voce nao exibe o pop up senao voce exibe!

 

 

abraços!

 

Opa beleza, então não é quando ele fecha o popup abre uma vez e só volta a abrir de novo caso a pessoa feche o navegador e abra ele de novo, por acaso não sabe onde tem algum exemplo disso?

 

Valeuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uso para abrir o fancybox:

 

<script type="text/javascript">

var nwSplash_page = 'http://www.copercampos.com.br/informe_notasfiscais.html';

var nwSplash_width = 500;

var nwSplash_height = 235;

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao tem o script???

 

 

ele deve ter algum javascript passando pedindo para abrir o popup certo?

 

entao, faca o seguinte:

 

<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup
 $_SESSION[[popup]=1; // grava a sessao popup
 echo '<script type="text/javascript">............</script>'; // escreve o script para abrir o popup
}
?>

 

eh isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma então ficaria ne?

 

<?

if (!$_SESSION[popup]) { // se nao existir a sessao popup

$_SESSION[popup]=1; // grava a sessao popup

echo '<script type="text/javascript">

var nwSplash_page = 'http://www.xxx.com.br/xxx.html';

var nwSplash_width = 500;

var nwSplash_height = 235;

</script>';

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos, voce tem que sempre prestar atencao nas aspas simples(') e normais(")..

 

Aqui eu ajeitei as aspas:

 

<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup
    $_SESSION[popup]=1; // grava a sessao popup
    echo '<script type="text/javascript">
              var nwSplash_page = \'http://www.xxx.com.br/xxx.html\';
              var nwSplash_width = 500;
              var nwSplash_height = 235;
          </script>';
}
?>

teste ai o codigo e poste os resultados!

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos, voce tem que sempre prestar atencao nas aspas simples(') e normais(")..

 

Aqui eu ajeitei as aspas:

 

<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup
    $_SESSION[popup]=1; // grava a sessao popup
    echo '<script type="text/javascript">
              var nwSplash_page = \'http://www.xxx.com.br/xxx.html\';
              var nwSplash_width = 500;
              var nwSplash_height = 235;
          </script>';
}
?>

teste ai o codigo e poste os resultados!

 

abraços!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaaa, então as aspas eu já havia arrumado e tinha dado certo, ele só abre uma vez a popup, mais o que acontece, é depois que abre a popup e você entra em qualquer outro link da página ou da um F5 da erro de script e a seguinte msng ('nwSplash_page' is undefined).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, olhando o erro da para ver qye o código que a gnt mexeu aki nao é o que abre o popup...

 

 

esse código que a gnt pois dentro da session ele nao eh o que "inicia" o popup, mas sim o que da as informações para ele abrir!!!

 

tem como postar seu code aqui?

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim...aqui está, mais no caso o que abre a url é esse JS.

 

$(document).ready(function(){

  $('body').append('<a id="splash" href="' + nwSplash_page + '" style="display:none;">splash</a>');

  $('a#splash').fancybox({
    'width'         : nwSplash_width,
    'height'        : nwSplash_height,
    'autoScale'     : false,
    'transitionIn'  : 'fade',
    'transitionOut' : 'fade',
    'type'          : 'iframe'
  });

   setTimeout(function(){
     $('a#splash').click();
   }, 2000);
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao coloque a session nele!

 

EX:

<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup
    $_SESSION[popup]=1; // grava a sessao popup
    echo "<script type=\"text/javascript\">
        $(document).ready(function(){
            $('body').append('<a id=\"splash\" href=\"' + nwSplash_page + '\" style=\"display:none;\">splash</a>');
            $('a#splash').fancybox({
                'width'         : nwSplash_width,
                'height'        : nwSplash_height,
                'autoScale'     : false,
                'transitionIn'  : 'fade',
                'transitionOut' : 'fade',
                'type'          : 'iframe'
            });
            setTimeout(function(){
                $('a#splash').click();
            }, 2000);
        });
    </script>";
}
?>

 

ja que ele que abre o popup, voce atribui ele so poder abrir se NAO houver a sessao aberta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao kra.... na sua pagina entao tem um:

 

<script type="text/javascript" src="url/do/seu/arquivo.js"></script>
certo?

 

entao faça a session nele!

 

OBS: Voce tem que pensar em como bloquear o inicio do codigo que abre o popup, nem que pra isso voce bloqueie o script de popup inteiro!

 

 

EX:

<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup
    $_SESSION[popup]=1; // grava a sessao popup
    echo "<script type=\"text/javascript\" src=\"url/do/seu/arquivo.js\"></script>";
}
?>

teste aew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...agora sim beleza, não havia pensado nisso, ficou certinho agora abre apenas uma vez e quando você fecha o navegador encerra a sessão e quando entra no site de novo abre a sessão de novo e abre a popup novamente, valeuuuu mesmoooo deu certinho estava quebrando a cabeça aqui. Abraço

 

Vou postar o código completo pra quem quiser usar:

 

?>
<script type="text/javascript" src="js/jquery.fancybox.js"></script>
<?
if (!$_SESSION[popup]) { // se nao existir a sessao popup    
$_SESSION[popup]=1; // grava a sessao popup    
echo "<script type=\"text/javascript\" src=\"js/nwSplash.js\"></script>";}
?>
<script type="text/javascript">
              var nwSplash_page = 'http://www.xxx.com.br/xxx.html';
              var nwSplash_width = 500;
              var nwSplash_height = 235;
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

heheheh que bom que deu certo Imagem Postada hehehehe

 

qualquer duvida poste aki para a gnt tentar ajudar d novo!

 

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.