通过窗口名称访问窗口

序言

在前端编程中,我们通常需要在一个页面中打开多个新窗口。这些窗口可能具有不同的功能和用途,例如弹出窗口、模态框或者子窗口。在某些情况下,我们需要从一个窗口中操纵另一个窗口,如改变其尺寸、内容、位置等。本文将介绍如何通过窗口名称来访问其他窗口,并提供一些实用的示例代码。

window.open() 方法创建窗口

在前端编程中,我们可以使用 window.open() 方法来创建新的浏览器窗口。该方法接受三个参数:URL 字符串、窗口名称字符串和窗口特性字符串。

--- -------- - -------------------------------------- ----------- ------------------------

上面的代码将打开一个名为 "myWindow" 的新窗口,并将其宽度和高度设置为 400 和 200 像素。

一旦我们创建了一个新窗口,我们就可以使用 window.name 属性来获取或更改窗口的名称。此外,我们可以使用 window.open() 方法返回的窗口对象来访问相应的窗口。

--- -------- - -------------------------------------- ----------- ------------------------
--------------------------- -- -- ----------
------------- - ------------
------------------------------ -- ---- ----------- ---

上面的代码将创建一个名为 "myWindow" 的新窗口,并将其名称更改为 "newWindow"。我们可以通过 window.newWindow 来访问该窗口,然后就可以操纵它了。

示例代码

下面是一些实用的示例代码,它们演示了如何通过窗口名称来访问其他窗口。

在父窗口中打开子窗口并向其传递数据

---- ----------- ---
--------- -----
------
------
  ------------- --------------
  ----- ----------------
  --------
    -------- ----------------- -
      --- ----------- - ------------------------- -----------------
      ------------------------------- -------- -----
    -
    ---------------------------------- --------------- -
      --------------------- ---------- ------------
    ---
  ---------
-------
------
  ------- ------------------------------------------
-------
-------
---- ---------- ---
--------- -----
------
------
  ------------ --------------
  ----- ----------------
  --------
    ---------------------------------- --------------- -
      --------------------- ---------- ------------
      -------------------------------- --------- -----
    ---
  ---------
-------
------
  ---------------
-------
-------

上面的代码演示了如何在父窗口中打开一个名为 "myChildWindow" 的子窗口,并向其传递一条消息。当子窗口收到消息后,它会将一条回复消息发送回父窗口。父窗口通过 window.myChildWindow 访问子窗口,然后就可以操纵它。

在子窗口中关闭父窗口

---- ----------- ---
--------- -----
------
------
  ------------- --------------
  ----- ----------------
  --------
    --- -------- - ------------------------- ------------
    -------- ------------------- -
      ---------------
    -
  ---------
-------
------
  ------- --------------------------------------------
-------
-------
--

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------