2010-11-09 38 views

Respuesta

0

¿lo intentó?

top.frames['my_frame'].myFunc(); 
+0

no es jquery ..... – fgfgfgghjh

+2

Es javascript, no es necesario que necesites jquery –

0

se puede seleccionar el marco flotante utilizando su ID

document.getElementById(iframeId).contentDocument 

pero no estoy seguro de que puede acceder a su JavaScript, especialmente si el niño iFrame es de dominio diferente

14

Mientras el la página enmarcada está en el mismo dominio (o en un subdominio, y está configurando document.domain), necesita acceder a la propiedad contentWindow del elemento frame. Por ejemplo:

$("#myFrame")[0].contentWindow.myFunction(); 

// or, if jQuery hasn't made you lazy 
document.getElementById("myFrame").contentWindow.myFunction(); 

mayoría de los navegadores también soportan contentDocument, pero Internet Explorer no lo hace. Si su página enmarcada está en un dominio diferente, obtendrá un error de acceso denegado.

+0

Sugeriría que el equivalente no perezoso sería * realmente * be 'if (document.getElementById (" myFrame "). Length == 0) {document.getElementById (" myFrame "). contentWindow.myFunction(); }; ' –

+0

@Jeromy: no, ambas versiones lanzarían el mismo error si' # myFrame' no existiera en la misma página. –

+0

Veo lo que quiere decir ... '$ (" # myFrame ") [0]' devuelve 'undefined', que por supuesto no tiene métodos. Estaba pensando '$ (" # myFrame ") ...', pero así no es como funciona esto. Gracias por ponerme en el camino correcto. –

3
$("iframe").each(function() 
{ 
    $(this).one("load", function() 
    { 
     $(this)[0].contentWindow.myFunction(); 
    }); 
}); 

Es necesario iframe cargado;)

1

hacerlo como un profesional:

$("#myFrame").prop('contentWindow').abc(); 
0

hacerlo como un profesional:

$("#myFrame").prop('contentWindow').abc(); 
+0

Intenté hacerlo como un profesional ... funciona en un servidor local pero no en un servidor de producción - Error = TipoError: $ (...). Prop (...) no está definido –

+0

mismo exacto configurar en localhost y producción? – hackdotslashdotkill

Cuestiones relacionadas