Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) janela sem ser popup


fabiosanches

Pergunta

ae galera.. to precisando abrir o conseudo de uma enquete em uma janela.. porém não quero q essa janela seja bloqueada pelo bloqueador de popup do ie ou do firefox não.. e não sei como faze.. disseram pra usar div e tals.. mais não tenho a ideia de como fazer.. alguém me da um help ae...

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

Olha, nesse tutorial o maujor dá uma dica de como posicionar uma div no meio da tela:

http://www.maujor.com/tutorial/meio_tela.php

Dá para você ver como ele faz a div.

O negócio é o seguinte, você vai precisar saber html, css e javascript. O javascript vai fazer o pop up aparecer quando você quiser, em algum evento. O html vai fazer o div, e o Css vai deixar o div bonitinho, posicioná-lo e outras formatações.

Então, se sua dúvida é como fazer o div estilizado com Css, sugiro que veja mais no site do maujor. Lá tem tutorial de tudo.

você não tem nada pronto? Tipo, para essas coisas não tem muitos códigos prontos....é muito personalizado...não dá para fazer um padrão para essas coisas.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

beleza cara.. eu vou tentar achar algo.. porque tipo.. o q eu quero é o seguinte... eu tenho uma enquete em PHP e gostaria q quando clicasse em VOTAR o resultado aparecesse numa janela.. OTIMO.. isso eu já faço com a função window.open porém os navegadores interpretam isso como popup.. no entanto o q eu quero abrir em uma nova janela é uma pagina em php.. eu ate tinha usado div e tals.. so q quando ele abria a pagina.. ele abria no mesmo iframe q esta as opções de voto da enquete.. ai eu tive mesmo q temporariamente deixar como estava... www.weboffice.adm.br se você quiser dar uma olhada.. ai eu tinha ate tentando mais acabei ficando meio perdido...

Link para o comentário
Compartilhar em outros sites

  • 0
.. ele abria no mesmo iframe q esta as opções de voto da enquete.. ai eu tive mesmo q temporariamente deixar como estava...

opa fabio, beleza??

você quis dizer q o estado inicial da div era visivel?? se for isso, faz o seguinte:

coloca um display:none nela, ae a hora que clicar, dá um display:block

flow...abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

cara tipo assim.. eu tenho uma pagina index.php e nela eu tenho um pequeno iframe.. ai nesse iframe eu carrego uma pagina visualenquete.php e nessa pagina tem um botão votar.. quando clica em votar.. abre uma janela via window.open.. porém essa janela é bloqueada.. eu gostaria tipo.. de abrir essa janela sem ser bloqueada.. entendeu??

porém usando div ele tava abrindo no mesmo iframe.. mesmo eu usando o seguinte codigo...

<div onclick="objspan.style.visibility='visible';">Resultado Parcial</div>
<span id="objspan" style="position:absolute; top:10; left:10; visibility:visible;" onclick="objspan.style.visibility='hidden';"><iframe src="enquete.php" name="enquete" width="280" height="280" scrolling="No" frameborder="0" id="enquete" align="middle" target="enquete"> </iframe></span>

ai eu queria q ele abrisse em um iframe separado do iframe q esta o arquivo visualenquete.php...

Link para o comentário
Compartilhar em outros sites

  • 0

Fábio, o melhor pra isso é fazer um div escondido na sua página principal. Porém, quando chama uma função através de outra janela, seja ela por window ou por frames deve utilizar o objeto window.opener ou parent, para referenciar objetos criados na janela principal.

Então para fazer o iframe chamar o div escondido da janela principal, você faria:

<a href="#" onclick="parent.window.mostraPOP()">Votar</a>

Esse link estaria no iframe, e a função mostraPOP() seria criada na página principal.

Sacou?

Abraço

Edit: Pode usar o div escondido com um iframe dentro se quiser chamar outra página, ao invés de usar Ajax.

Link para o comentário
Compartilhar em outros sites

  • 0

cara.. deixa eu ver se entendi.. na pagina visualenquete q esta dentro de um iframe e tem o botao votar... eu vo colocar esse codigo abaixo q vai fazer a chamada da função mostraPOP e na index eu teria q criar tipo uma função assim

function mostraPOP();
<div><span><iframe src="enquete.php" name="pop" id="pop">popup</iframe></span></div>

Link para o comentário
Compartilhar em outros sites

  • 0

Isso garoto!!

Sacou já...

Na index:

function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.display="block"
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}
O código acima, por exemplo, pega o div pela id "divEscondido", pega o iframe e direciona para a url passada como argumento e em seguida faz o iframe aparecer. Depois ele pega o primeiro link do divEscondido, que vai servir de "[fechar]", e ao ser clicado, ele oculta de novo o div. A pop up escondida:
<div id="divEscondido">
<a href="#">[Fechar]</a>
<iframe src="">popup</iframe>
</div>

Se for chamar a função por um iframe, deve utilizar aquele método que mencionei anteriormente, pegando o parent.window.popUp(url).

É uma forma de fazer. Não é a melhor, mas se preocupa primeiro em fazer funcionar...

você pode usar a função popUp com argumento como eu usei, no caso de ter que mandar algum argumento para a url da enquete. Então você logicamente usaria : popUP("enquete.php") no caso de não ter nenhum parâmetro adicional.

Beleza?

Aquele abraço

Link para o comentário
Compartilhar em outros sites

  • 0

bom.. como ela vai ser chamada atravéz de um iframe mesmo.. hehe eu usarei akela função na index... montar o div escondido tbn na index... e na pagina onde tem o iframe utilizar

<a href="#" onclick="parent.window.mostraPOP("enquete.php")">Votar</a>

mais como eu vou colocar isso em um botão submit.. eu devo colocar assim

if($votar)

{

echo "<script language="javascript">";

echo "parent.window.mostraPOP("enquete.php")";

echo "</script>";

}

acho q estou entendendo heheheheh :)

Link para o comentário
Compartilhar em outros sites

  • 0

Não, não. No submit já é diferente.

Se vai querer colocar um botão submit, crie com o Php o botão submit em html.

echo '<input type="submit" onsubmit=\"parent.window.mostraPOP(\'enquete.php\')\">';

Considerando que já tenha um form pronto e tal. Seria interessante se colocasse o código todo aqui, ficaria mais fácil vizualizar o sistema que está montando.

Faça o pop up funcionar primeiro...depois inventa outras paradas...

Aquele abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

cara.. ta quaaaaaaase.. heheh o unico problema é o seguinte.. o div fica tomando o lugar na tela.. saca so...

imagem.JPG

queria tipo.. se possivel q ela ficasse nakele esquema de escondido e sobre a index.. em cima da index porém escondida q só irá aparecer na hora q clicar em votar.. agora ta quase no final.. hehehe.. me da um help ae.. :)

valeu camarada... to te aguardando..

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei se vai resolver, mas tente:

Troque:

function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.display="block"
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}
Por:
function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.display="block"
    div.style.float = "left";
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Então fabião, você define isso no seu Css:

<style>
div#divEscondido{
display:none;
}
div#divEscondido iframe{
border:none;
}
</style>

Talvez dê um pequeno problema quando for exibir a div oculta, talvez ela empurre outros objetos na tela...talvez. Nesse caso é só mudar o codigo Css e javascript para ao invés de usar o display, usar o visibility, hidden para escondido e visible para visível.

fabiosanches, sem Up´s ok? É contra as regras do fórum.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

tipo.. ele escondeu o div.. so q quando eu mando abrir ele.. ele não abre hehe não muda para visible.. deve ser isso.. tipo.. ai abaixo ta o meu cod...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
.style2 {font-size: 12px}
.style3 {font-size: 12}
.style4 {color: #E7FACC}
.style10 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
.style11 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
#Layer1 {
    position:absolute;
    left:244px;
    top:39px;
    width:201px;
    height:247px;
    z-index:1;
}
div#divEscondido{
display:none;
}
div#divEscondido iframe{
border:none;
}
-->
</style>
<script language="javascript">
function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.display="block"
    div.style.float = "left";
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}
</script>
</head>
<body bgcolor="#ECFFC7" topmargin="0" topmargin="0" leftmargin="0">
<div align="center">
  <? include "topo.php";?>
</div>
<div id="divEscondido">
<a href="#">[Fechar]</a>
<iframe src="">popup</iframe>
</div>
<table width="775" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
   <td><img src="images/spacer.gif" width="19" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="121" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="28" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="69" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="204" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="27" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="5" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="112" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="12" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="10" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="13" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="132" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="15" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="8" height="1" border="0" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="1" border="0" alt="" /></td>
  </tr>

  <tr>
   <td rowspan="10" bgcolor="#FFFFFF"></td>
   <td rowspan="7"><img name="index_r1_c2" src="images/index_r1_c2.jpg" width="121" height="312" border="0" id="index_r1_c2" alt="" /></td>
   <td colspan="11" bgcolor="#FFFFFF"></td>
   <td rowspan="10" bgcolor="#FFFFFF"></td>
   <td><img src="images/spacer.gif" width="1" height="28" border="0" alt="" /></td>
  </tr>
  <tr>
   <td colspan="2" bgcolor="#FFFFFF"></td>
   <td colspan="3" background="images/index_r2_c5.jpg"></td>
   <td bgcolor="#FFFFFF"></td>
   <td colspan="5" background="images/index_r2_c9.jpg"></td>
   <td><img src="images/spacer.gif" width="1" height="27" border="0" alt="" /></td>
  </tr>
  <tr>
   <td rowspan="2"><img name="index_r3_c3" src="images/index_r3_c3.jpg" width="28" height="131" border="0" id="index_r3_c3" alt="" /></td>
   <td colspan="2" valign="top" bgcolor="#FFFFFF"> <div align="justify" class="style2"><span class="style4">.<span class="style10">.......</span></span><span class="style10">A weboffice vem facilitar o dia a dia de quem tem uma  vida muito atarefada, porém com pouco tempo disponível para resolver problemas  simples, mas que necessitam de uma atenção especial. É feita a adesão aos serviços através de contrato e a partir daí, vai  poder contar com serviços práticos, com qualidade e eficiência.</span></div></td>
   <td rowspan="2" colspan="2"><img name="index_r3_c6" src="images/index_r3_c6.jpg" width="32" height="131" border="0" id="index_r3_c6" alt="" /></td>
   <td colspan="5" valign="top" bgcolor="#FFFFFF" class="style10">* Atendimento  telefônico;    <br>
      * Gerenciamento  de agendas:<br>
      * 
      Recebimentos  e envios de e-mail´s;
      <br>
      * 
      Envio  e recebimento de fax;
      <br>
      * 
    Aluguel  diário do escritório, no caso de representantes comerciais.</td>
   <td rowspan="2"><img name="index_r3_c13" src="images/index_r3_c13.jpg" width="15" height="131" border="0" id="index_r3_c13" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="114" border="0" alt="" /></td>
  </tr>
  <tr>
   <td colspan="2"><img name="index_r4_c4" src="images/index_r4_c4.jpg" width="273" height="17" border="0" id="index_r4_c4" alt="" /></td>
   <td colspan="5"><img name="index_r4_c8" src="images/index_r4_c8.jpg" width="279" height="17" border="0" id="index_r4_c8" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="17" border="0" alt="" /></td>
  </tr>
  <tr>
   <td colspan="11" bgcolor="#FFFFFF"></td>
   <td><img src="images/spacer.gif" width="1" height="16" border="0" alt="" /></td>
  </tr>
  <tr>
   <td colspan="7" background="images/index_r6_c3.jpg"></td>
   <td rowspan="5" bgcolor="#FFFFFF"></td>
   <td colspan="3" background="images/index_r6_c11.jpg"></td>
   <td><img src="images/spacer.gif" width="1" height="29" border="0" alt="" /></td>
  </tr>
  <tr>
   <td rowspan="4"><img name="index_r7_c3" src="images/index_r7_c3.jpg" width="28" height="198" border="0" id="index_r7_c3" alt="" /></td>
   <td colspan="3" rowspan="3" valign="top" bgcolor="#E7FACC"><p align="justify" class="style2"><br>
       <span class="style4">..<span class="style11">......</span></span><span class="style10">Os Nossos pacotes são únicos e independentes feitos exclusivamente para atender com qualidade e pontualidade as necessidades da sua empresa ou pessoa física.<br>
       <span class="style4">........</span>Entre em contato para que possamos fazer um pacote que atenda todas as suas necessidades.</span></p>
     <p align="justify" class="style3"> <span class="style10"><a href="contatos.php">Contate-nos. </a></span></p></td>
   <td rowspan="4" colspan="3"><img name="index_r7_c7" src="images/index_r7_c7.jpg" width="129" height="198" border="0" id="index_r7_c7" alt="" /></td>
   <td rowspan="4"><img name="index_r7_c11" src="images/index_r7_c11.jpg" width="13" height="198" border="0" id="index_r7_c11" alt="" /></td>
   <td rowspan="2" bgcolor="#FFFFFF"><iframe src="enquete/visualenquete.php" name="visualenquete" width="130" height="170" scrolling="No" frameborder="0" id="visualenquete" align="middle"> </iframe></td>
   <td rowspan="4"><img name="index_r7_c13" src="images/index_r7_c13.jpg" width="15" height="198" border="0" id="index_r7_c13" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="81" border="0" alt="" /></td>
  </tr>
  <tr>
   <td rowspan="3" bgcolor="#FFFFFF"></td>
   <td><img src="images/spacer.gif" width="1" height="94" border="0" alt="" /></td>
  </tr>
  <tr>
   <td rowspan="2"><img name="index_r9_c12" src="images/index_r9_c12.jpg" width="132" height="23" border="0" id="index_r9_c12" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="4" border="0" alt="" /></td>
  </tr>
  <tr>
   <td colspan="3"><img name="index_r10_c4" src="images/index_r10_c4.jpg" width="300" height="19" border="0" id="index_r10_c4" alt="" /></td>
   <td><img src="images/spacer.gif" width="1" height="19" border="0" alt="" /></td>
  </tr>
</table>
<div align="center">
  <? include "rodape.php"; ?>
</div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui ó:

function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.style.display="block" // Nessa linha estava div.display
    div.style.float = "left";
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}

A linha que fazia o div aparecer dessa parte do código estava errada.

Tenta agora.

Link para o comentário
Compartilhar em outros sites

  • 0

como você havia comentado.. hehe ele empurrou o texto pro lado.. ai a minha duvida é a seguinte...

o codigo esta assim

<style type="text/css">
<!--
.style2 {font-size: 12px}
.style3 {font-size: 12}
.style4 {color: #E7FACC}
.style10 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
.style11 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
#Layer1 {
    position:absolute;
    left:244px;
    top:39px;
    width:201px;
    height:247px;
    z-index:1;
}
div#divEscondido{
display:none;
}
div#divEscondido iframe{
border:none;
}
-->
</style>
<script language="javascript">
function popUP(url){
    var div=document.getElementById("divEscondido")
    div.getElementsByTagName("iframe")[0].src=url
    div.style.display="block" // Nessa linha estava div.display
    div.style.float = "left";
    
        div.getElementsByTagName("a")[0].onclick=function(){
        document.getElementById("divEscondido").style.display="none"
        }
}

</script>
vai ficar assim?? [<style type="text/css"> <!-- .style2 {font-size: 12px} .style3 {font-size: 12} .style4 {color: #E7FACC} .style10 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .style11 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } #Layer1 { position:absolute; left:244px; top:39px; width:201px; height:247px; z-index:1; } div#divEscondido{ visibility:hidden; } div#divEscondido iframe{ border:none; } --> </style> <script language="javascript"> function popUP(url){ var div=document.getElementById("divEscondido") div.getElementsByTagName("iframe")[0].src=url div.style.visibility="block" // Nessa linha estava div.display div.style.float = "left"; div.getElementsByTagName("a")[0].onclick=function(){ document.getElementById("divEscondido").style.visibility="none" } } </script>
Link para o comentário
Compartilhar em outros sites

  • 0

Mais fácil Fabião, ao invés de mudar tudo para visibility, bota o div em posição absoluta:

div#divescondido{
position:absolute;
display:none

}

Na posição absoluta ele não influencia os elementos da página.

Aquele abraço

Link para o comentário
Compartilhar em outros sites

  • 0

ae kakaroto.. quando eu crescer quero ser igual você cara.. heheheheheh www.weboffce.adm.br se você quiser ver o resultado final. heheeh agora vo tentar ajustar aki. mais ta filehhhhh valeu mesmo cara.. kker duvida eu coloco aki e te encho o saco.. hehehe abração cara

Link para o comentário
Compartilhar em outros sites

  • 0

Huahuahuahua

Valeu Fabião. Resolvido então!

Arruma o link aí que eu não consegui ver o site.

Abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...