我遇到了一个关于JavaScript的相当恼人的问题。问题是这是第三方代码,我不允许/能够在公共网站上使用此代码。 :-(我知道这使得排除故障变得更加困难,但我希望你能忍受我。
情况是这样的:
1)从任何网页调用Page1
来打开聊天功能,这包含一个JavaScript页面。在此页面中,我们使用YYYPage thisPage = htmlcSession.guiEngine.pageManager.yyyPage;
设置页面标识符
在本页末尾,将包含另一个jsp文件。
2)一旦加载此页面(如步骤1中所述),此页面将打开第二页,该页面将结果页面分为5个部分(此处使用FRAMES,代码在过去的xx年中未被调整)
在这些帧的每一帧中,呈现出不同的功能,并且这些帧中的2个是重要的。顶部框架,称为控制器框架和中间框架(称为答案框架),最终加载出口页面。
所有这些框架都有“唯一”名称,因此我希望当我最终进入退出页面时,我应该可以通过调用YYYPage.Close()
来关闭主窗口;
我认为问题归结为:
是否可以从其中一个子窗口中关闭父窗口(当JavaScript window.open
命令打开 所有 窗口时!!)?< / p>
如果是这样,我该如何参考正确的窗口?
答案 0 :(得分:0)
我正在寻找这个问题的答案,最后只是找出了一个黑客。我讨厌未回答的问题,所以这是我的解决方案:您可以使用设置超时欺骗父窗口关闭自己。由于某种原因,这不会触发脚本上的任何安全块:
<a href="#" onclick="window.top.setTimeout('window.close()',1)">Close Window</a>