0

我有 3 个 XPage,一个用于编辑文档,两个显示多个视图,xe:dynamicContent我们将它们称为 xpView1 和 xpView2。单击视图中的文档链接时,用户将被重定向到第一个 XPage,他可以在其中编辑文档。

问题是在 IE 中,当用户从 xpView1 重定向到 edidXPage 时,我得到了正确的页面。但是,当用户从 xpView2 重定向到 edidXPage(也使用 IE)时,我得到的 main.xsp 与其他三个中的一个无关。

context.gethistoryUrl(1)用来确定他来自哪里,在 Firefox 中一切正常,但在来自 xpView2 时在 IE 中不行。XPage 几乎相同,包含一个xe:layoutaxe:dynamicContent和大约三个不同的xe:dataView. 重定向用户的链接也完全相同:

在 xpView1 中:

<xp:link id="Subject">
    <xp:this.text><![CDATA[#{javascript:@NormalizeSubject(viewEntry.getColumnValue("Subject")) }]]></xp:this.text>
<xp:this.value><![CDATA[#{javascript:"/editDocument.xsp?action=openDocument&documentId=" + viewEntry.getUniversalID()}]]>
</xp:this.value></xp:link>

在 XpView2 中:

<xp:link escape="true" id="link1">
    <xp:this.value><![CDATA[#{javascript:"/editDocument.xsp?action=openDocument&documentId=" + viewEntry.getUniversalID()}]]></xp:this.value>
<xp:text escape="false" id="lateTitle" style="font-weight:bold;font-size:12pt;">
                            <xp:this.value><![CDATA[#{javascript::@NormalizeSubject(viewEntry.getColumnValue("Subject"))}]]></xp:this.value>
</xp:text>
</xp:link>

在 editXPage 上,我放置了一个<xp:text>来检查输出。但我只能看到,如果我使用 IE,只有 xpView1 可以工作,如果我使用 Firefox,两者都可以工作!?!

<xp:text>
<xp:this.value><![CDATA[#{javascript:return "History(1): "+context.getHistoryUrl(1); }]]></xp:this.value>
</xp:text>

如果我发布所有 3 个 XPage,那将是很多代码,所以我只想知道我必须寻找什么(PartialRefresh 或一些导致此类问题的 xp:DataView 属性)

4

1 回答 1

0

最后; 我自己找到了答案。

在某些情况下,在 xpView2 中,视图会在摘要部分显示图像。如果发生这种情况,我使用了一个 customControl,它添加了一个灯箱 javascript 来处理图像的显示。

我不知道为什么这个 js 会干扰 context.getHistory(1),我也不知道为什么它只在 IE 中。但我知道我必须删除它或找到解决方法。

于 2013-07-25T09:45:36.177 回答