我们在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首先会在不同的浏览器中产生不同的结果?我没有到那里去做什么?
答案 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>