Executar script dentro do Iframe (quickView)?

Boa tarde, estou fazendo o espiar em uma loja, porém os scripts que fazem a página de produtos funcionar, não está rodando dentro do iframe, eu vi em alguns lugares que posso utilizar o seguinte código para executar js dentro do iframe:

$("#TB_iframeContent").contents().find('body')

Porém o content não funciona no cenário do quickView... eu precisava carregar o arquivo todo dentro do iframe, e não só um trecho do código.

Existe alguma solução melhor para execução do quickview e que execute os .js que são da página?

Obs: A loja ainda não está em produção.

Obs1: O arquivo esta dentro do iframe também, mas não funciona.

Obs2: Preferencialmente eu precisava dessa execução fora do iframe e que manipulasse as informações la dentro, pois o botão de comprar é AddToCart

Obs3: Tentei executar com OnLoad mas não certo:

$('#TB_iframeContent').load(function() { $(this).contents().find('body').append('<script type="text/javascript" src="/arquivos/product18.js"></scr' + 'ipt>'); });

Alguem pode me dar um help?

Acredito que se você nomear as funções pode dar certo.

Fora no iframe eu tenho uma função chamada MinhaFuncao(); isso serve para toda a loja.

Dentro do Iframe no click ou qualquer evento você tem que disparar $(window).parent().MinhaFuncao();

Escrevi essa função de exemplo, mas é mais ou menos por ai.

Sobre atualizar o carrinho dentro do iframe seria mais ou menos o seguinte escopo (esse script é a moda antiga).

$('.buy-button').click(function(){ var url = $(this).attr('href'); url = url.replace('redirect=true', 'redirect=false'); $.ajax({ url: url, success: function(data){ parent.updateCartInfo(); addProductCallBack(); } }); return false; });

@caio martins​

O botão funcionar deu certinho! Obrigado!

Mas o iframe eu ainda não consegui fazer funcionar, mesmo deste modo, ele não identifica a função, a função deveria funcionar no Console do chrome, ou tenho mesmo que subir ela no script?

Tem que subir no script. E ela tem que estar em um nível acima do iframe.

Tem como simular isso no console. Ao lado do filtro tem um combobox que te da a opção de trabalhar em diferentes níveis. Mas pode ser que você se perca ali, rs.

@caio martins​

Eu vi que a função está puxando certinho para dentro do iframe, porém, ele não está lendo o que tem dentro da função, eu coloquei um alert dentro da função e ele apenas leu o alert... eu tenho que fazer algum tratamento dentro da função também? não deveria né?

Estou fazendo o teste pelo Console, é mais rápido para fazer o teste, sem esperar a propagação do layout

@caio martins​ obrigado! consegui solucionar o problema com suas dicas! o meu problema é que dentro da função eu estava utilizando $(document).ready e $(window).load..

eu retirei isso de dentro da função, chamei o script que tinha a função para dentro do iframe e no final do script eu executei a função controleProdutos();

agora eu vou continuar com o restante do projeto, valeu! me ajudou muito!