【问题标题】:Alfresco share site auto refreshingAlfresco 分享网站自动刷新
【发布时间】:2014-04-05 16:41:58
【问题描述】:

如何自动刷新共享站点?现在,当有人在共享讨论中发布答案时,用户必须刷新页面才能查看答案。如何自动刷新页面?

【问题讨论】:

    标签: alfresco alfresco-share


    【解决方案1】:

    Share 中没有预定义的自动刷新组件。您必须自己编写代码。

    1. 选项 1:通过 JavaScript 每 x 秒自动轮询一次服务器,例如使用 YAHOO.lang.later(...)

    2. 选项 2:编写您自己的 Alfresco 策略以触发服务器发送事件 + 在共享中使用此类事件

    3. 选项 3:引入 WebSockets

    所有选项都需要深入了解浏览器中的 JavaScript,尤其是 YUI 和 Alfresco 的自定义共享组件和实用程序。选项 2 和 3 还需要深入了解 Java 和 Alfresco 的 Java Foundation API。

    【讨论】:

    • 我可以使用java脚本并在站点中设置规则吗?
    • 您可以使用 javascript 规则来触发选项 2 中的 SSE 或选项 3 中的 emit()。但这两种情况都不是微不足道的,因为您将添加 SSE/websocket 功能到露天……
    • 我认为 location.reload();是否会重新加载页面仪式?
    • 是的,有几个选项可以重新加载当前页面:-> 例如stackoverflow.com/questions/18967532/… 如果有新答案,您想为每个用户刷新页面...
    • 是的,我创建了脚本,但是如何将脚本链接到站点?我试过manage rule,但我找不到使用这个脚本的选项
    【解决方案2】:

    我在tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\discussions 中编辑了toolbar.get.html。我添加了以下元标记

    <meta http-equiv="Refresh" content="100">。这是有效的。

    【讨论】:

    • @alfrescian 可以吗?
    【解决方案3】:

    我做了一个轮询计时器来更新特定数据,而不是重新加载整个页面

    http://code.google.com/p/alfresco-presence/source/browse/share/source/web/presence/components/head/polling-timer.js

    但是,这需要更多的工作。

    【讨论】:

    • 我部署了它,但我在管理工具中找不到它
    • 但是我在 share/page/modules/deploy 中找到它
    • 它只是一个 javascript 实现,您需要将它用于需要更新的数据。在存在模块中,它检索更新的站点成员存在状态,因此不会重新加载整个页面...
    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2021-10-17
    相关资源
    最近更新 更多