2012-07-30 22 views
14

Tengo una página que contiene un iframe en otra página, lo que estoy buscando es hacer clic en algo dentro del iframe, que luego puede acceder o más específicamente esconder un div en el padre. Sé que algunos jQuery pero por alguna razón apenas se sientan allí sin expresión en el editor de código cuando trato de escribir por mi cuentaacceso div en iframe padre

+1

¿Están la página y el iframe alojados en el mismo subdominio? – rekire

+0

sí lo son, tengo acceso a ambas páginas si el código debe ir en –

+0

@Andrew Morris El acceso al código no es el problema, pero los navegadores no permiten acciones de JavaScript en diferentes dominios. Y esos dominios deben coincidir exactamente (incluso el protocolo debe ser el mismo, no se puede administrar el sitio https a través de JS desde un sitio http) – feeela

Respuesta

34

tratar esto en marco flotante:

$('#DIVtobehidden', window.parent.document).hide(); 
+1

Gracias, este es el que he usado, funciona de maravilla –

+0

¿Funcionará esto si el padre está en un dominio diferente? – Awalias

2
$("#element-In-Iframe").on('click', function() { 
    $('#element-in-parent-window', window.parent.document).hide(); 
}); 

FIDDLE

+0

@CrystalMiller - Solía ​​funcionar hace tres años, tenga en cuenta que también es exactamente lo mismo que la respuesta aceptada. En estos días, JSFiddle está ejecutando sus propios iframes desde un subdominio shell, por lo que se aplica la política del mismo origen. – adeneo

0

Si ambas páginas están en el mismo (sub) dominio con el que debe poder acceder a la ventana primaria con:

window.parent.document.getElementById('divId') 

Bueno, esto es sin jQuery pero debería funcionar

+0

¡Es al revés! – adeneo

+0

Mi culpa voy a arreglar eso. – rekire

Cuestiones relacionadas