jak uzyskać dostęp do strony nadrzędnej iFrame przy użyciu jquery?
Mam iframe i w celu uzyskania dostępu do elementu nadrzędnego zaimplementowałem następujący kod:
window.parent.document.getElementById('parentPrice').innerHTML
Jak uzyskać ten sam wynik za pomocą jquery?
UPDATE: lub jak uzyskać dostęp do strony nadrzędnej iFrame przy użyciu jquery?
9 answers
Aby znaleźć w rodzicu użycia iFrame:
$('#parentPrice', window.parent.document).html();
Drugim parametrem wrappera $() jest kontekst, w którym ma być wyszukiwane. Domyślnie jest to document.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-07 17:47:26
Jak uzyskać dostęp do strony nadrzędnej iFrame przy użyciu jquery
Okno.rodzic.dokument.
JQuery jest biblioteką opartą na JavaScript, nie jest jej kompletnym zamiennikiem. Nie musisz zastępować każdego ostatniego wyrażenia JavaScript czymś zawierającym $.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-07 18:09:41
Jeśli chcesz znaleźć instancję jQuery w dokumencie nadrzędnym (np. aby wywołać funkcję użytkową dostarczoną przez wtyczkę), użyj jednej z następujących składni:
window.parent.$
window.parent.jQuery
Przykład:
window.parent.$.modal.close();
JQuery jest dołączany do window
obiektu i tym jest window.parent
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-13 19:31:44
Można uzyskać dostęp do elementów okna nadrzędnego z wewnątrz ramki iframe za pomocą window.parent
Tak:
// using jquery
window.parent.$("#element_id");
Czyli to samo co:
// pure javascript
window.parent.document.getElementById("element_id");
A jeśli masz więcej niż jeden zagnieżdżony iframe i chcesz uzyskać dostęp do najwyższego iframe, możesz użyć window.top
Tak:
// using jquery
window.top.$("#element_id");
Czyli to samo co:
// pure javascript
window.top.document.getElementById("element_id");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-21 14:29:35
W oknie rodzica wpisz :
<script>
function ifDoneChildFrame(val)
{
$('#parentPrice').html(val);
}
</script>
I w pliku iframe src umieścić :
<script>window.parent.ifDoneChildFrame('Your value here');</script>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-06 07:18:48
Działa na mnie z lekkim skrętem. W moim przypadku muszę wypełnić wartość z POPUP JS do formularza okna rodzica.
Więc użyłem $('#ee_id',window.opener.document).val(eeID);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-27 18:59:29
U mnie też działa.
Uwaga: musimy użyć window.rodzic.dokument
$("button", window.parent.document).click(function()
{
alert("Functionality defined by def");
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-17 04:49:38
Może trochę za późno na grę, ale właśnie odkryłem fantastyczną wtyczkę jQuery https://github.com/mkdynamic/jquery-popupwindow . w zasadzie używa onunload callback event, więc w zasadzie nasłuchuje zamknięcia okna potomnego i wykona wszelkie niezbędne rzeczy w tym momencie. Więc naprawdę nie ma potrzeby, aby pisać jakiekolwiek JS w oknie dziecka, aby przekazać z powrotem do rodzica.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-17 16:07:13
Istnieje wiele sposobów, aby to zrobić.
I) uzyskaj bezpośrednio główny rodzic.
Dla exa. chcę zamienić stronę potomną na iframe then
var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);
Tutaj na górze.lokalizacja pobiera rodzica bezpośrednio.
II) get parent one by one,
var element = $('.iframe:visible', window.parent.document);
Tutaj jeśli masz więcej niż jeden iframe, podaj aktywny lub widoczny.
Możesz też zrobić tak, aby zdobyć kolejnych rodziców.]}var masterParent = element.parent().parent().parent()
III) get parent by Identifier.
var myWindow = window.top.$("#Identifier")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-28 13:30:42