Extlib对话框似乎固定在右侧窗口边框上

时间:2013-11-19 17:30:09

标签: xpages xpages-extlib

我有一个奇怪的现象,我以前从未遇到过extlib对话框。 这个场景非常简单:有一个链接控件通过它的serverside conclick事件调用dialog.show()方法。然而,一旦对话框出现,它就会以某种方式粘合到浏览器窗口的右边缘。向左拖动对话框实际上不会移动它,而是增加其宽度!

我看不到任何通过firebug查看源代码的特殊内容。 AFAIK关于这个应用程序只有一个特别之处: 有问题的Xpage是在一个经典的框架集中运行的,因为这是一个有10年历史的Domino Web应用程序,并且根本就没有预算可以将它完全转换为XSP逻辑,所以我一个接一个地做它我就是要求做一些调整。

到目前为止,这个组合运行得非常好,到目前为止还没有任何缺陷,而且我不确定这个组合是否与另一个有关。

在Firefox和MSIE中均有发生。我在版本8.5.3 UP1和9.0.1的服务器上试过这个。 Designer版本为9.0.1。

目前,我通过在对话框中添加一些右边距来解决这个问题,所以至少它出现在内部的框架中,从那里调用它。但它仍然固定在一些右边缘。

任何提示都非常受欢迎。

修改

与此同时,我尝试使用工具提示对话框而不是标准对话框:再次显示的结果控件固定在右边缘,但它也跨越整个父框架。应该指向唤起链接的工具提示标记也指向最右边的位置。所以现在显然对我来说这些控件不喜欢在框架集的上下文中调用。或者可能是这样吗?

编辑#2:

感谢帕特里克和迈克尔,我还有一些想法可以尝试。它仍然没有按预期工作,但至少我现在可以肯定地说周围的框架集不是这一切的原因:在带有框架集的空白数据库中,所有对话框都按预期工作。即使我自己调用页面,对话框也不能在我的项目数据库中工作 我刚刚发现的最奇怪的事情是,如果我在firefox AND 中运行页面并打开firebug分割窗口,那么对话框就会正常运行,因为我可以像我想的那样拖动它。

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案;原因是对话框的内容

在我的例子中,对话框包含仅通过一些原生html“p”和“ul”标签构造的固定文本。生成的文本内容将呈现为每个结构标记的一个长字符串;自动换行发生在对话框容器到达右窗口边框的位置,但实际上文本希望延伸整个字符串的长度。因此,对话框似乎固定在右边缘,如果我将其拖到左边,它只会增加其宽度。如果我的屏幕足够宽,那么对话框最终会在某些时候变得可拖动,但遗憾的是文本太长了(希望我能说清楚)。

解决方案尽可能简单:给对话框容器控件一个限制其初始宽度的样式属性,说60%解决了这个谜。