IE将viewScope变量作为字符串而不是XPage中的数组返回

时间:2014-07-31 13:22:29

标签: internet-explorer xpages xpages-ssjs lotus-notes

我们在IE11中偶然发现了一个奇怪的行为 -

在我们的一个Notes应用程序中,我们将一个数组存储为一个viewScope变量,在一个按钮的onClick事件中,我们通过

将它捕获到变量(SSJS)上
var myList = new Array(viewScope.get("existingDates"));
除了IE(Safari,Chrome,Firefox)之外的所有浏览器,它都像魅力一样。 在IE中我们没有数组,而是一个字符串。

我使用

检查了这个
viewScope.get("existingDates").getClass().getName().

它会在IE中的所有其他浏览器 java.lang.String 中返回 java.util.Vector

由于我们的应用程序中的变量可变内容,“拆分”或类似的解决方法只能被视为最后的解决方案,我也希望避免使用分隔符,以避免为其他所有内容添加和减去它们浏览器每次运行。

是否有人知道如何避免这种行为或如何最好地处理它?<​​/ p>

另外 - 尽管这可能是一个新手问题 - 我不明白为什么SSJS首先会在不同的浏览器中产生不同的结果?我没有到那里去做什么?

1 个答案:

答案 0 :(得分:1)

正如@ xpages-noob建议的那样,出现了错误的行为,因为我们在ListTextBox中有一个多个Separator。 删除该参数后,代码在所有浏览器中都正常运行,包括IE。

之前的

代码:

<xe:djextListTextBox 
  id="djListe"
  value="#{viewScope.existingDates}" readOnly="false"
  multipleTrim="true"
  multipleSeparator="#{javascript:@NewLine();}">
</xe:djextListTextBox>

之后的代码:

<xe:djextListTextBox 
  id="djListe"
  value="#{viewScope.existingDates}" readOnly="false"
  multipleTrim="true">
</xe:djextListTextBox>