2012-07-30 15 views
14

Mam stronę, która zawiera element iframe na innej stronie, czego szukam, to kliknięcie czegoś wewnątrz elementu iframe, który może następnie uzyskać dostęp lub dokładniej ukryć element div w elemencie nadrzędnym. Znam pewne JQuery, ale z jakiegoś powodu po prostu siedzieć tępo w edytorze kodu gdy próbuję zapisać go na własnymdiv dostępu w elemencie iframe

+1

Czy strona i element iframe są hostowane w tej samej poddomenie? – rekire

+0

Tak, mam, mam dostęp do obu stron, jeśli kod musi być albo –

+0

@Andrew Morris Kod dostępu nie jest problem - ale przeglądarki nie pozwalają na działania JavaScript w różnych domenach. A te domeny muszą być dokładnie takie same (nawet protokół musi być taki sam - nie można obsłużyć strony https za pośrednictwem JS z witryny http) – feeela

Odpowiedz

34

spróbować tego w iframe:

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

Dzięki, to jest ta, której użyłem, działa świetnie –

+0

czy to zadziała, jeśli rodzic jest w innej domenie? – Awalias

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

FIDDLE

+0

@CrystalMiller - Kiedyś pracował trzy lata temu, zauważ, że jest to dokładnie to samo, co zaakceptowana odpowiedź. W dzisiejszych czasach JSFiddle uruchamia własne elementy iframe z poddomeny powłoki, więc zasady tego samego pochodzenia są uruchamiane. – adeneo

0

Jeśli obie strony znajdują się w tej samej (pod) domenie, do której powinieneś mieć dostęp:

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

To jest bez jQuery, ale powinno działać

+0

Jest odwrotnie! – adeneo

+0

Moja wina to naprawię. – rekire

Powiązane problemy