从Javascript关闭子窗口
Closing children windows from Javascript
本文关键字:窗口 Javascript 更新时间:2023-09-26
我一直在到处寻找问题的解决方案,但只能找到拼图的碎片,无法将它们连接起来。我有一个窗口(它本身是主窗口的子窗口),可以打开多个其他窗口。我希望孩子们的窗口在家长关闭时关闭,听起来很简单,对吧?
这是一个难题,我的父窗口在打开子窗口时会进行回发,所以我保留的任何句柄数组(也是对象)都不会持久存在。我已经研究过序列化和反序列化这个数组,并将其存储在一个隐藏字段中,但这似乎不是最好的解决方案。我也无法访问正在打开的窗口的父级。
除了Javascript,服务器端的代码是用C#编写的,我使用的是asp.net。有什么合理的解决方案吗?我还应该提到,我正在使用的代码早在我使用它之前就由多个不同的人编写,所以我想添加到它中,而不是改变它的大部分工作方式。
最后,我知道在这里发布我的代码通常是个好主意,但我只是使用var win = window.open
来执行窗口打开任务。
谢谢。
好吧,然后我看到了解决这个问题的三种方法:
- 不要使用多个浏览器窗口,但要设置页面样式以显示所有对话;正如@Gats建议的那样。好吧,如果您希望在子窗口中导航时父"窗口"的输入保持不变,这将在一定程度上限制您
- 不要通过刷新回发来卸载父级。使用Ajax将数据发送到应用程序服务器
- 不能存储(窗口)对象,只能存储字符串。当打开一个窗口时,您可以给它一个"目标"名称,任何其他具有相同目标(名称)的
window.open
都将使用已经打开的名称。这样,你就可以引用你自己没有打开的窗口,然后关闭它们。看见https://stackoverflow.com/a/563478/1048572
怎么样
var wins = [];
function newChildWindow(...) {
wins.push(window.open(...));
}
window.onuload = function() {
for (var i=0; i<wins.length; i++)
if (!wins[i].closed)
wins[i].close();
};
相关文章:
- 关闭黑莓浏览器窗口 JavaScript
- 关闭窗口 Javascript
- 清除窗口Javascript幻灯片
- 弹出窗口JavaScript的站点地图生成器
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- 将var添加到新窗口Javascript中
- 如何在引导模式弹出窗口(javascript,jquery)上运行函数
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 将值传递给弹出窗口 [JavaScript]
- 在链接后控制父窗口(JavaScript)
- 将数据发送到单独的窗口javascript
- 正在访问窗口.Javascript 中的应用程序函数
- 将变量从父窗口Javascript函数传递到弹出窗口分区
- 在内容进入打印机之前关闭窗口(JavaScript)
- 窗口.JavaScript中的innerWidth
- 是否可以从子窗口关闭父窗口(Javascript)
- 窗口.javascript中的Innerheight减去数字
- 如果我重写窗口.javascript中的onerror应该返回true还是false
- 计数值后关闭窗口javascript
- 如何在缩略图图像的翻转上显示弹出窗口?Javascript、CSS