• <i id='3pt8l'><tr id='3pt8l'><dt id='3pt8l'><q id='3pt8l'><span id='3pt8l'><b id='3pt8l'><form id='3pt8l'><ins id='3pt8l'></ins><ul id='3pt8l'></ul><sub id='3pt8l'></sub></form><legend id='3pt8l'></legend><bdo id='3pt8l'><pre id='3pt8l'><center id='3pt8l'></center></pre></bdo></b><th id='3pt8l'></th></span></q></dt></tr></i><div id='3pt8l'><tfoot id='3pt8l'></tfoot><dl id='3pt8l'><fieldset id='3pt8l'></fieldset></dl></div>
    <tfoot id='3pt8l'></tfoot>

    <legend id='3pt8l'><style id='3pt8l'><dir id='3pt8l'><q id='3pt8l'></q></dir></style></legend>
        • <bdo id='3pt8l'></bdo><ul id='3pt8l'></ul>
      1. <small id='3pt8l'></small><noframes id='3pt8l'>

        在父级中导航到其他地方后,是否可以在 JavaScript 中重用弹出窗口?

        时间:2023-09-30
      2. <i id='pMk1M'><tr id='pMk1M'><dt id='pMk1M'><q id='pMk1M'><span id='pMk1M'><b id='pMk1M'><form id='pMk1M'><ins id='pMk1M'></ins><ul id='pMk1M'></ul><sub id='pMk1M'></sub></form><legend id='pMk1M'></legend><bdo id='pMk1M'><pre id='pMk1M'><center id='pMk1M'></center></pre></bdo></b><th id='pMk1M'></th></span></q></dt></tr></i><div id='pMk1M'><tfoot id='pMk1M'></tfoot><dl id='pMk1M'><fieldset id='pMk1M'></fieldset></dl></div>
          <tbody id='pMk1M'></tbody>
            <bdo id='pMk1M'></bdo><ul id='pMk1M'></ul>

              <tfoot id='pMk1M'></tfoot>

              <small id='pMk1M'></small><noframes id='pMk1M'>

                • <legend id='pMk1M'><style id='pMk1M'><dir id='pMk1M'><q id='pMk1M'></q></dir></style></legend>
                  本文介绍了在父级中导航到其他地方后,是否可以在 JavaScript 中重用弹出窗口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  假设我们有一个网站,您在其中单击一个按钮,并使用 JavaScript 打开一个弹出(子)窗口.所以让我们称父级A和弹出窗口P.在 A 的源代码中,我们会看到如下内容:

                  Suppose we have a website in which you click on a button, and that opens a popup (child) window using JavaScript. So let's call the parent A and the popup P. In the source of A, we'd see something like this:

                  <script type="text/javascript">
                  P = window.open('P.html', 'P');
                  </script>
                  

                  所以只要 A 是打开的,我们就可以在 JavaScript 中使用 P 变量与 P 进行交互.但是,当我单击 A 中的链接转到 B.html 时,我会丢失所有变量.然而我的弹出窗口仍然打开,所以我想知道是否有任何方法可以将两者重新连接在一起.有什么方法可以从 B 中操纵 P 吗?非常感谢.

                  So as long as A is open, we can interact with P in JavaScript using the P variable. However, when I click on a link in A to go to B.html, I lose all the variables. Yet my popup window is still open, so I wonder if there's any way I can link the two back together. Is there any way I can manipulate P from within B? Thanks much.

                  推荐答案

                  我发现,令我惊喜的是,答案是肯定的.Mohammad 使用 window.top 的解决方案不正确;当我尝试从 P 中访问 window.top 时,它只会返回对 P 本身的引用.RobG 的回答有点没抓住重点.

                  Well I figured out that, to my pleasant surprise, the answer is YES. Mohammad's solution of using window.top was not correct; when I try to access window.top from within P, that just returns a reference to P itself. RobG's answer just kind of missed the point.

                  我发现如果我在 P 内部定期执行此操作,一切正常:

                  I found that if I do this periodically from within P, everything works:

                  <!-- A.html, B.html -->
                  <script type="text/javascript">
                  function setP(ref)
                  {
                      P = ref;
                  }
                  </script>
                  
                  <!-- P.html -->
                  <script type="text/javascript">
                  function updateParent()
                  {
                      if ( typeof window.opener.setP == 'function' ) {
                          window.opener.setP(window);
                      }
                  }
                  window.setInterval(updateParent, 2000);
                  </script>
                  

                  这样,即使当我将父窗口从 A 导航到 B 时,B 仍将使用对 B 的窗口引用进行更新strong>P,一旦建立,两个窗口就可以再次自由地相互通信了.

                  This way, even when I navigate the parent window from A to B, B will still be updated with a window reference to P and once that's established the two windows can then communicate freely with each other again.

                  这篇关于在父级中导航到其他地方后,是否可以在 JavaScript 中重用弹出窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:无法让 magnific popup 工作,两个 javascript 错误 下一篇:window.opener 不正确

                  相关文章

                • <i id='aEa0T'><tr id='aEa0T'><dt id='aEa0T'><q id='aEa0T'><span id='aEa0T'><b id='aEa0T'><form id='aEa0T'><ins id='aEa0T'></ins><ul id='aEa0T'></ul><sub id='aEa0T'></sub></form><legend id='aEa0T'></legend><bdo id='aEa0T'><pre id='aEa0T'><center id='aEa0T'></center></pre></bdo></b><th id='aEa0T'></th></span></q></dt></tr></i><div id='aEa0T'><tfoot id='aEa0T'></tfoot><dl id='aEa0T'><fieldset id='aEa0T'></fieldset></dl></div>

                  <tfoot id='aEa0T'></tfoot>

                  1. <legend id='aEa0T'><style id='aEa0T'><dir id='aEa0T'><q id='aEa0T'></q></dir></style></legend>

                      <bdo id='aEa0T'></bdo><ul id='aEa0T'></ul>

                    1. <small id='aEa0T'></small><noframes id='aEa0T'>