XPage context.getHistoryUrl(1)返回不同的页面Firefox和IE

时间:2013-07-23 06:56:55

标签: xpages xpages-extlib xpages-ssjs

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

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

我使用context.gethistoryUrl(1)来确定他来自哪里,在Firefox中,一切正常,但在从xpView2传入时不在IE中。 XPage几乎相同,包含xe:layoutxe: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上,我放置了一个来检查输出。但我可以看到的是,如果我使用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属性导致这样的麻烦)

1 个答案:

答案 0 :(得分:0)

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

在xpView2中,在某些情况下,视图会在夏季部分显示图像。如果那个hapens我使用了一个customControl,它添加了一个灯箱javascript,用于处理图像的显示。

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