[请教] js中,通过open.window调用,打开多层子窗口,如何获得最外层的窗口?

master_ttch 2009-12-17 05:04:07
如题。
假如 A 通过 open.window 打开 B 窗口
B 又 打开 C
C 又 打开 D
....

如何获得A窗口,
我的最终目的,是在最后一个窗口关闭时,来进行刷新A窗口
,所以需要在最后 一个窗口中,获得A窗口,
如何获取?

注意,不要是 window.parent.parent.parent....,因为打开的子窗口没有规律,也许一个,也许多个
想做一个通用的
用js如何获得A窗口?
...全文
966 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
caozhaoyan 2010-10-10
  • 打赏
  • 举报
回复
"top.location.href"是最外层的页面跳转
zhangxinyuok_love 2009-12-18
  • 打赏
  • 举报
回复
试试可不可以把祖先页面A作为对象传给每一个子页面,子页面关闭的时候执行祖先的刷新。
在a页面中打开子页面b
var a = location;
var b = window.open(url);
b.祖先 = a;
b.onclose = function(){a.reload();}
打开子页面的子页面c,在b页面中:
var a = this.祖先;
var c = window.opne(url);
c.祖先 = a;
c.onclose = function(){a.reload();}
每打开一个子页面都把a传下去
浴火_凤凰 2009-12-18
  • 打赏
  • 举报
回复
只能一层层的用 window.opener 而且中间窗口不能关闭
master_ttch 2009-12-18
  • 打赏
  • 举报
回复
多谢各位兄弟的分析

我的那些个中间窗口没有规律,而且也会关闭
如果这样,就找不到原始祖先窗口了

还有没有其他的办法呢?
dxsky_sky 2009-12-18
  • 打赏
  • 举报
回复
学习!
Inpool 2009-12-17
  • 打赏
  • 举报
回复
给每个页面加上:
var topWindow = null;
window.topWindow = topWindow?topWindown:window;

然后打开新窗口的时候:
var subWindow = window.open("url");
subWindow.topWindow = window.topWindow;

只是一个想法,没试过,可行的话topWindow应该总是指向A。
master_ttch 2009-12-17
  • 打赏
  • 举报
回复
哦。谢谢 fengsky491 热心的帮助

这个问题郁闷死我了

看看还有没有兄弟帮我想出个办法
fengsky491 2009-12-17
  • 打赏
  • 举报
回复
我估计你的需求要考虑用div弹出遮盖的形式来模拟
Inpool 2009-12-17
  • 打赏
  • 举报
回复
学习
fengsky491 2009-12-17
  • 打赏
  • 举报
回复
如果你关闭了其中一个,估计你就得不到A了,期待高手
master_ttch 2009-12-17
  • 打赏
  • 举报
回复
谢谢 lihui_shine,
假如 目前窗口的依次打开次序是 A 打开B ,B打开了C,C打开了D,D打开了E

如何从E直接得到A窗口?
window.top只适合iframe使用吧。
要想由E得到A,是否只能一层层的用 window.opener 找?
浪尖赏花 2009-12-17
  • 打赏
  • 举报
回复
window.open()打开窗口,从子窗口获取父窗口通过window.opener

var w = window;
while(w.opener) w = w.opener;



如果是框架页面,通过window.parent访问上层窗口
访问最外层窗口用window.top
master_ttch 2009-12-17
  • 打赏
  • 举报
回复
谢谢楼上的兄弟的方法
不过有个缺陷,
就是如果我关闭了其中的几个中间窗口
那就无法获得最外层的A窗口了

请问,还有没有更好的方法?
fengsky491 2009-12-17
  • 打赏
  • 举报
回复
var win = window;
while(win.parent){
win = win.parent;
}

//A窗口处理函数
win.doSomethingFn();
内容概要:本文详细介绍了名为MoSca的系统,该系统旨在从单目随意拍摄的视频重建和合成动态场景的新视角。MoSca通过4D Motion Scaffolds(运动支架)将视频数据转化为紧凑平滑编码的Motion Scaffold表示,并将场景几何和外观与变形场解耦,通过高斯融合进行优化。系统还解决了相机焦距和姿态的问题,无需额外的姿态估计工具。文章不仅提供了系统的理论背景,还给出了基于PyTorch的简化实现代码,涵盖MotionScaffold、GaussianFusion、MoScaSystem等核心组件。此外,文深入探讨了ARAP变形模型、2D先验到3D的提升、动态高斯表示、相机参数估计等关键技术,并提出了完整的训练流程和性能优化技巧。 适用人群:具备一定计算机视觉和深度学习基础的研究人员和工程师,特别是对动态场景重建和新视角合成感兴趣的从业者。 使用场景及目标:①从单目视频重建动态场景的新视角;②研究和实现基于4D Motion Scaffolds的动态场景表示方法;③探索如何利用预训练视觉模型的先验知识提升3D重建质量;④开发高效的动态场景渲染和优化算法。 其他说明:本文提供了详细的代码实现,包括简化版和深入扩展的技术细节。阅读者可以通过代码实践加深对MoSca系统的理解,并根据具体应用场景调整和扩展各个模块。此外,文还强调了物理启发的正则化项和多模态先验融合的重要性,帮助实现更合理的变形和更高质量的渲染效果。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧