0

我正在一个大型经典笔记应用程序中对表单进行 XPage 处理,并且我正在努力寻找一种方法来结束与呈现良好 UI 的表单的交互。这是我的场景:

1) 从视图中打开父文档(经典笔记) 2) 父文档上的按钮使用 notes:/// 链接在 XPiNC 中打开子文档。3) 子文档 XPage 上的取消按钮......

我尝试了以下方法:

a) 使用 window.close() 我在这方面做了很多谷歌搜索,但各种方法似乎对我不起作用。如果您从使用 window.open 打开的窗口调用它,window.close() 应该可以工作,所以我尝试了 window.open("closeMe.xsp", "_self") 看看这是否会给我一个窗口可以在 onClientLoad 客户端事件中由带有 window.close() 的 xpage 关闭。那里没有运气。以下问题提出建议但不提供解决方案(第三方产品除外)

如何在 Xpage 中关闭我的窗口? 如何在notes客户端关闭xpages?我使用 CSJS window.close 但它不起作用

b) 重定向到父文档 我的下一个想法是重定向到父文档——它已经在 Notes 客户端中打开了。但是,我发现当我重定向时(使用 facesContext.getExternalContext().redirect("Notes:///url" )它确实会跳转到父文档,但它会在 XPage 所在的选项卡中打开一个空白窗口.

我的下一个尝试是关闭原始调用 LotusScript 中的父级,然后在取消按钮中重定向到父级。这也有效 - 您进入父文档,但是如果您按下退出键或关闭父文档的选项卡,它会再次为您留下一个空窗口。

有任何想法吗?我喜欢能够返回到新打开的父文档的想法,因为我可以期望我的新子文档会刷新嵌入式视图,但目前我会采取任何有效的方法。:)

干杯,

布伦丹

4

2 回答 2

1

你被困在岩石和坚硬的地方之间。XPiNC 和经典 Notes 不会那么容易混合。但有希望。前往Composite Application Wiki。在那里你会发现你可以打开一个合成而不是一个文档,它允许你在合成中包含选项卡和东西。

这也是经典应用程序和 XPage(使用属性代理发布/订阅)交换数据的方式。确保你也阅读了评论。Karsten 有很好的进一步链接。

对于您真正想做的事情,我没有一个可行的示例,但 Composite 感觉是您拥有的最佳选择。

于 2012-06-27T04:44:36.677 回答
0

我找到了部分解决方案,Java 是你的朋友。它适用于按钮也应该适用于链接。唯一的问题是当从像 onClose 这样的事件调用时,当前 xpage 失去焦点并且当前页面保持打开状态。我试图模拟发送键,它按下了 ESC 键。它可以从一个按钮中正常工作。 CLick 事件上的按钮

<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:var robot:java.awt.Robot= new java.awt.Robot;var event:java.awt.event.KeyEvent=java.awt.event.KeyEvent;

机器人.keyPress(event.VK_ESCAPE); 机器人.keyRelease(event.VK_ESCAPE); enter code here}]]>

    </xp:eventHandler>
</xp:button>
于 2013-02-19T03:05:49.387 回答