0

我面临一个关于 JavaScript 的相当烦人的问题。问题是这是第三方代码,我不允许/不能在公共网站上使用此代码。:-( 我知道这使得排除故障变得更加困难,但我希望你能忍受我。

情况是这样的:

1)Page1从任何网页调用以打开聊天功能,这由一个 JavaScript 页面组成。在这个页面中,我们使用在这个页面的末尾设置一个页面标识符YYYPage thisPage = htmlcSession.guiEngine.pageManager.yyyPage; ,包含另一个 jsp 文件。

2) 一旦加载此页面(如步骤 1 中所述),此页面将打开第二个页面,该页面将生成的页面分为 5 个部分(此处使用 FRAMES,代码在过去 xx 年未修改)

在这些框架中的每一个中,都呈现了不同的功能,其中两个框架很重要。顶部框架,称为控制器框架,中间框架(称为应答框架)最终加载退出页面。

所有这些框架都有“唯一”的名称,因此我希望当我最终进入退出页面时,我应该能够通过调用关闭主窗口YYYPage.Close();

我认为问题归结为:
是否可以从其中一个子窗口中关闭父窗口(当所有窗口都被 JavaScriptwindow.open命令打开时!!)?

如果是这样,我怎样才能参考正确的窗口?

4

1 回答 1

0

我一直在寻找这个问题的答案,结果只是想出了一个技巧。我讨厌未回答的问题,所以这是我的解决方案:您可以欺骗父窗口使用设置的超时时间自行关闭。由于某种原因,这不会触发脚本上的任何安全块:

<a href="#" onclick="window.top.setTimeout('window.close()',1)">Close Window</a>
于 2018-06-07T01:31:47.023 回答