Ir para conteúdo

Arquivado

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

magnogaspar

Usando o jQuery do parent dentro de um Iframe (avançado)

Recommended Posts

Bom dia,

estou desenvolvendo em um cenário onde tenho uma página que utiliza um iframe e de dentro desse iframe eu queria usar o jQuery que está incluido na página pai.

 

Ex.: EXEMPLO de código da página pai

<html>
<head>
<title>Página pai</title>
<script type="text/javascript" src="js/jQuery.js"></script>
</head>
<body>
<h1>Página pai com o JS do jQuery incluso</h1>
<iframe src="paginafilho.html" width="700" height="400"></iframe>
</body>
</html>

EXEMPLO de código da página filho

<html>
<head>
<title>Página filho querendo usar o jQuery do pai...</title>
<script type="text/javascript">
$ = parent.$; // fiz isso na tentativa de importar o jQuery do pai
$("#aquinaofunciona").click(function(){
alert("Funcionou!!! Oo");
});
</script>
</head>
<body>
<h1>Nessa página eu tento chamar o jQuery da página pai... mas não rola...</h1>
<a href="#" id="aquinaofunciona">Clique aqui pra testar</a>
</body>
</html>

Isso simplesmente não funciona... o length do $("#aquinaofunciona") é ZERO, ou seja... ele não encontra o elemento "aquinaofunciona"... tentei dar um alert($(document).html()) pra ver o contexto que ele estaria tentando levar em conta (nesse caso ele deveria me devolver o HTML da página pai - se tivesse pegando o contexto do parent - ou o HTML da página filho - no caso de estar pegando o contexto certo).

 

A questão não é tão simples, e em fóruns por aí o máximo que encontro é um pessoal querendo chamar o jQuery com o segundo parâmetro setado para no pai poder utilizar objetos do filho ($("teste","elementofilho")), mas NÃO É ISSO QUE EU QUERO.

 

Obs: Quero poder usar o jQuery do parent para não precisar ficar incluindo o mesmo JS com os plugins em todas as páginas. O jQuery com os plugins que eu uso estão pesando 80Kb... queria poder só referenciar ele dentro das páginas pra não ficar baixando sempre que a página é carregada (sei que existe cache... expires... mas não é essa a idéia! quero resolver assim).

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.