Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera, é o seguinte....
Estou tentando fazer um append de uma função Jquery para dentor de um iframe, até ai tudo bem, o problema é que o codigo não funciona!!
Exemplo:
<script>
jQuery.noConflict();
setTimeout( function(){
jQuery("IFRAME").contents().find("body").append('<script type="text/javascript">alert("Hello!");<\/script>');
},5000)
</script>
o codigo acima vai até o ''body" do IFRAME e adiciona o que eu quiser, mas se eu inserir <script> alert("Hello!") </script> vai dar o alerta normalmente, mas caso eu adicione uma funcao para disparar == $("#div_1").hide(); de uma div que se encontra la dentro do iframe, não faz nada, se encontra lá mas é como se nao servisse pois não executa.
a dúdvida : é possivel fazer o que eu estou tentando fazer? ou o porque disso acontece?
vlw
Ah sim, isso nunca vai funcionar mesmo.Não é possível dessa forma não.
Nao tem jeito mesmo de executar algo do tipo?
É possível executar uma função que está dentro do iframe, desde que ela EXISTA no contexto do iframe.
Existem várias formas:
// desta forma a função hide é executada diretamente
$("iframe").get(0).contentWindow.$("body").hide();
// desta forma é adicionado um elemento script contendo o código javascript a ser executado
$("iframe").get(0).contentWindow.$("body").append("<script>$('body').hide();</script>");
// caso o iframe não tenha o jQuery, então pode usar JavaScript puro
var script = document.createElement("script");
script.innerHTML = "document.body.style.display = 'none';";
$("iframe").get(0).contentDocument.body.appendChild(script);Vlw, consegui
Ah sim, isso nunca vai funcionar mesmo.
Não é possível dessa forma não.