如何使用javascript或Jquery访问两级的父窗口

How to access a parent window two levels up using javascript or Jquery?

本文关键字:两级 窗口 javascript 何使用 Jquery 访问      更新时间:2023-09-26

我有一个弹出窗口,其中包含一个由模板包装的文本编辑器。我需要插入到该文本框中的信息位于编辑器窗口中,当按下编辑器上的按钮时,我需要将文本字段附加到父窗口,而不是包装器。如果我使用 window.parent,文本框会附加到包装器,而不是外面的窗口。我尝试了window.parent.parent或window.parent.window.parent,但没有工作。我怎样才能做到这一点?

编辑:我没有发布代码,因为它不相关,问题只是如何附加两个父窗口的东西......但这是代码

简讯

$textInput=$('<textarea></textarea>');
            $textInput.text(bodyHtml);
            parentWindow.$('form').append($textInput);

弹出窗口的 HTML

<div class="right_content">
<form method="post">
<textarea id="plantillaEditor">
<?php echo $html_plantilla; ?>
</textarea>
</form>
</div>

父窗口的 HTML(相关部分)

<div class="right_content">
    <div class="form_abm">
      <?php if ($estado != OohListasEstado::PENDIENTE): ?>
        <form class="form-horizontal" action="<?php echo url_for('/consultasactuacionpreju/' .
        (!$form->getObject()->isNew() ? 'editar/id/' . $sf_request->getParameter('id') . '/consid/' . $form->getObject()->getIdConsulta() : 'crear/consid/' . $sf_request->getParameter('consid'))) ?>"
              method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
        <?php else: ?>
            <form class="form-horizontal" action="<?php echo url_for('consultasactuacionpreju/aceptarPase?consid='.$sf_request->getParameter('consid')); ?>"
                  method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
        <?php endif; ?>

window.parent适用于iframe。如果您的"弹出窗口"是iframe,那应该可以工作(假设您没有遇到CORS问题)。如果您的"弹出窗口"是一个新窗口,则需要window.opener .如果它只是另一个带有一些 CSS 的div 来覆盖窗口的其余部分,您将需要普通的 DOM 遍历方法。