1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

iFrames a recarregarem a Parent

Discussão em 'Web Development' iniciada por TMAsantos, 3 de Maio de 2012. (Respostas: 2; Visualizações: 569)

  1. TMAsantos

    TMAsantos Power Member

    Boa noite,

    Há uns dias que ando a aprender PHP, HTML, etc. Sou programador em java e C e ando a aventurar-me nestes novos caminhos.

    Estou a criar um site que funciona basicamente por mudanças de iFrames. O que está a acontecer é que quando mudo um iFrame às vezes a página parent recarrega, estragando todas as variáveis que tenho em JavaScript...
    Queria evitar o uso de cookies, portanto queria saber se há alguma alternativa.

    Já procurei na internet, mas não encontrei nenhuma resposta concreta para o meu problema.
    Se estou a fazer algo muito estúpido peço desculpa, sou um noob nesta linguagem ainda.

    Espero que sejam compreensivos com o noob:P
    Abraço.

    PS: Para alterar a iFrame estou a usar o src. Será que é isso? Tenho que adicionar alguma tag? ou é mesmo suposto isto acontecer? Obrigado
     
  2. franklopez

    franklopez Power Member

    Que tipo de páginas estás a tentar abrir no iframe?

    São tuas ou são outros sites?

    <html>
    <head>
    <script language="javascript" src="scripts/prototype.js"></script>
    <script language="javascript">

    function muda_iframe(choice){
    if (choice === 'sapo')
    $('my_frame').src="http://www.sapo.pt";
    else if (choice === 'cm')
    $('my_frame').src="http://www.cmjornal.xl.pt/";
    else if (choice === 'google')
    $('my_frame').src="http://www.google.pt/";

    // saca a biblioteca prototype que dá imenso jeito e funciona em todos os browsers
    }
    </script>
    </head>
    <body>
    <table>
    <tr>
    <td><span onclick="muda_iframe('sapo');">sapo</span></td>
    <td><span onclick="muda_iframe('cm');">Correio da manhã</span></td>
    <td><span onclick="muda_iframe('google');">Google</span></td>
    </tr>
    </table>
    <div>
    <iframe id="my_frame" allowtransparency="allowtransparency" frameborder="0" style="width:1020px;height:413px" id="texto" src=""></iframe>
    </div>
    </body>
    </html>

    com páginas minhas isso nunca me aconteceu, mas agora estava a testar para te ajudar e acontece-me isso

    com o sapo ele muda o pai,
    com o CM não,
    e com o google diz que não pode corer dentro dum iframe

    Pode ser o site que detecta que está a correr dentro duma frame e faz isso.
     
    Última edição: 7 de Maio de 2012
  3. ImAnAlcoholic

    ImAnAlcoholic Power Member

    Opinião pessoal... Não faças isso.
    a biblioteca prototype foi de facto uma excelente library no seu tempo, mas têm o péssimo habito de extender Objectos nativos do Javascript sem se preocuparem se eles já existem ou irão existir no futuro o que pode levar (como já levou no passado) a vários sites ficarem partidos devido a actualizações na linguagem do JS....

    Como alternativa directa aconselho Mootools (mesma filosofia, muitos membros da mesma equipa, mas já têm precaução ao extender os objectos…)

    Já agora se estiveres a carregar sites externos dentro de iframes, há imensos sites que se precavem contra isso... repara: http://jsbin.com/ocagut/2/edit
     
    Última edição: 7 de Maio de 2012

Partilhar esta Página