簡體   English   中英

刷新父級時如何找到子級 window?

[英]How do I find a child window when the parent is refreshed?

海迪格。

在 web 解決方案中,我想重用我的孩子 window 但在主 window 刷新時失去對它的引用。 如何找到孤兒 window? (由於父刷新而成為孤立的)

/的


情況:

  1. 父 window 存在。
  2. 用戶按下按鈕打開子 window。
  3. 用戶在子 window 中輸入文本。
  4. 用戶要求父 window 刷新。
  5. 用戶按下按鈕打開子 window。
  6. 子 window 刷新並且用戶的文本消失了。

在我的例子中,Parent 是一個 CMS,當用戶查看一篇新文章時,它會很自然地重新加載; 這種情況並不新鮮。 新的是我有一個可編輯的子 window。

所以現實世界的情況是這樣的:

  1. 用戶瀏覽網站(CMS)。
  2. 用戶打開一個彈出窗口並要求輸入一些數據。
  3. 用戶在彈出窗口中輸入一些數據。
  4. 用戶決定查看一篇新文章(在父級中獲得一個新的 URL)。
  5. 彈出窗口現在被隱藏,因此用戶單擊頂部再次打開彈出窗口。
  6. 彈出窗口被刷新(我盡量避免)並集中注意力。

我發現的唯一解決方法是使用 iframe、框架集或打開第三個 window,在我的情況下,這些解決方案都不可行。

打電話

wnd = window.open( "", "uniquename" );

不起作用,因為它會重新加載孩子。

未嘗試的想法是檢查瀏覽器 session 的 wnd 句柄是否唯一,並將其存儲在 cookie 或類似文件中。 另一個未經嘗試的想法是,如果孩子可以找出它是否是孤兒,然后通過計時器嘗試找到它的父母。

嗨,正如您所說,您自己嘗試將計時器放入孩子中,該計時器將自己注冊以便在父母中創建 function

var wnd = null;
function registerChild(child){wnd = child}

每隔一秒或半秒在計時器中的孩子

window.opener.registerChild(window);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM