Tabs 在多个窗口中显示同一文档

Tabs 在多个窗口中显示同一文档,tabs,xpages,Tabs,Xpages,在我们管理的XPage应用程序中,用户长期以来一直抱怨在使用它时会出现随机的“数据丢失”。这意味着当他们提交文档时,他们有时会刷新页面,并且他们刚刚编辑的所有字段都是空白的,或者处于原始页面加载时的状态,因此他们会经历数据丢失。他们花了很多时间才弄清楚到底发生了什么,现在他们执行的每一个动作都被记录在文档中,这样我就可以查看了。我们发现了正在发生的事情,我需要找到解决办法: 在Chrome/IE浏览器的窗口1中打开文档-不重要 在浏览器中打开另一个窗口并在应用程序中搜索同一文档,然后打开它(默认

在我们管理的XPage应用程序中,用户长期以来一直抱怨在使用它时会出现随机的“数据丢失”。这意味着当他们提交文档时,他们有时会刷新页面,并且他们刚刚编辑的所有字段都是空白的,或者处于原始页面加载时的状态,因此他们会经历数据丢失。他们花了很多时间才弄清楚到底发生了什么,现在他们执行的每一个动作都被记录在文档中,这样我就可以查看了。我们发现了正在发生的事情,我需要找到解决办法:

  • 在Chrome/IE浏览器的窗口1中打开文档-不重要
  • 在浏览器中打开另一个窗口并在应用程序中搜索同一文档,然后打开它(默认情况下,这将以读取模式打开它)
  • 文档上有多个选项卡,因为有很多信息-用户在窗口2中的只读副本上转到他们想要从中复制信息的选项卡
  • 然后,用户开始在窗口1的可编辑版本中键入信息-他们希望引用另一个选项卡式面板上的文档部分,从而使其在windows中打开
  • 用户提交他们的更改。不幸的是,由于他们在另一个窗口中打开了文档,然后单击其中一个选项卡式面板打开了文档的另一部分,因此可编辑版本实际上与服务器内存中的上下文不相关(我假设)-提交时更改丢失,用户需要重新输入
  • 如果他们打开只读版本,不在选项卡式面板中导航,他们可以继续在可编辑版本中工作。似乎文档的提交,即使在读取模式下,也会破坏可编辑版本与服务器之间的链接。这是为什么?如何预防

    我想阻止他们在另一个窗口打开它(不知道如何打开),作为绝对的最后手段——这已经成为许多国家许多用户的一种工作方式。有什么想法吗

    根据要求提供更多信息: 好的,这些文件是问题报告。在第一个选项卡上显示有关调用者、受影响的模型等的基本详细信息。有一个附件选项卡,其中有一个解决方案选项卡

    当确定用户在做什么时,他基本上说,因为他记不起呼叫者的名字,想向呼叫者介绍解决方案,所以他在另一个窗口中打开了文档。看起来有点懒,但无论如何

    有一个叫John Mackay的家伙写了一篇帖子,我想不久前,他写了一篇关于跟踪选项卡的帖子,这个选项卡是用sessionScope变量选择的,我使用这个变量有几个原因。因此,选项卡的onclick事件将sessionScope.tabSelected变量设置为所选内容。当我对文档进行完整更新时,这会有所帮助,因为在刷新后,默认情况下,该人员最后使用的选项卡是选中的选项卡。因此,当用户在另一个窗口中打开文档时,sessionscope变量也会导致在那里打开相同的选项卡


    如果用户在“解决方案”选项卡上,并且他们在另一个窗口中打开了该文档,则也会选择“解决方案”选项卡。然后,他们必须选择“信息”选项卡才能找到呼叫者的姓名,这就是问题的原因。也许范围较小的var可以修复它?我用onclick尝试了“不更新或验证”和“部分执行”设置,但并没有解决这个问题。当我明天回到办公室时,我将在不设置范围变量的情况下尝试它,然后单击选项卡,看看这是否修复了任何问题,并将向您报告解决的问题!我有一个选项卡式面板,在定义中,我有:

    selectedTab="#{javascript:sessionScope.TabSelected}"
    
    在每个选项卡上,我都有一个事件处理程序,可以设置
    sessionScope.TabSelected
    。我尝试了部分执行模式,我尝试了不验证或更新数据,但没有任何效果

    然后,我完全删除了每个选项卡上的事件处理程序以及selectedTab属性。现在,您可以在“在1中编辑”窗口中打开文档,然后在另一个窗口中读取,单击“读取版本”中的选项卡,这不会影响“可编辑”窗口中的文档。提交可编辑的版本,它不会被服务器拒绝,这正是我想要的


    唯一的缺点是,如果您现在对文档执行完整更新,并且页面重新加载,它会返回到选项卡式面板中的第一个选项卡,而不是您所在的位置。我希望这会被用户接受

    也许你应该消除问题的根源——切换到各种选项卡,迫使用户“变通”它可以通过打开多个窗口/选项卡来完成。谢谢,但由于页面长度的原因,如果我们不使用标签,这也不是一个选项。小助手呢?小助手是弹出窗口中最重要的数据,您需要它们的位置和时间。我可能听起来太笼统了,您应该分享一些更多的细节:选项卡中的内容、如何绑定数据、有关使用范围变量的详细信息(如果在其他窗口中打开,可能会出现问题)等等。在上面的主主题中添加的更多信息许多xpages教程中的常见错误是使用sessionScope处理所有内容。在这种情况下,将该脚本更改为viewScope变量,您应该可以。