2011-12-02 93 views
0

如何管理共享(surf?)中的页面状态历史记录,以便我记住例如哪个yui选项卡处于活动状态以及该寻呼机处于哪个页面上?Alfresco共享页面状态历史

我注意到,表单提交后,露天分享会做类似的事情。您将被重定向到您以前所在的完全相同的网页网址。如果有任何“ajax状态”(不知道他们叫什么)参数在url中,像#something = asdf,你会得到相同的url。

但是,当使用手动导航,如浏览网​​站页面时,这些参数不会保存。

这是一个好主意吗?例如在会话中保存页面状态?

回答

1

某些页面支持传入的URL参数。在这些情况下,将使用浏览器历史记录,例如,我们在整个页面元数据视图中编辑元数据,用户将返回到他来自的页面。这是通过在表单提交后调用window.history.go(-1)在javascript中完成的,但仅在通过URL设置/检索参数时才起作用。文档库实现页面特定的JavaScript来设置URL和解析参数。

我有些地方Alfresco使用偏好服务在不同页面之间永久存储用户设置。例如,这在文档库中用于“显示文件夹”和“简单/缩略图视图”按钮。下面是从文档库中的一些示例代码的JavaScript设置首选项:

var PREFERENCES_DOCLIST = "org.alfresco.share.documentList", 
     PREF_SHOW_FOLDERS = PREFERENCES_DOCLIST + ".showFolders"; 

var preferences = new Alfresco.service.Preferences(); 
this.services.preferences.set(PREF_SHOW_FOLDERS, true); 

性能的评价通常是在共享组件webscripts完成后,你可以在share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\documentlibrary\include\documentlist.lib.js为例看看。

在任何情况下,您都必须在浏览器和共享层中深入挖掘Alfresco的JavaScript代码,以了解如何实现它。

+0

感谢您的回答。 但是,将页面状态保存到会话或其他内容中,以及在单击共享中的“我的页面”时为此特定用户加载该页面的最后一个状态是一个好主意? (是我的老板的想法,我不完全知道我是否同意) 是不是Web应用程序假设为无状态(除了某些会话事件)? –

1

你可以在firebug(firefox插件)提交表单后检查发送给服务器端的参数,然后你可以使用相同的参数。 也许您应该使用yui history manager

+0

没有真正回答我的问题。我希望每个页面都具有相同的功能,不仅适用于带表单的页面。 –