全部折叠
可以使用 onRequestHistory 函数显示文档历史记录(使用 events.onRequestHistory 事件)。除非您使用它们,否则 版本历史 菜单选项(协作 选项卡中的 版本历史 按钮)不会显示在文档服务器界面中。
一旦在配置文件中调用此函数(连同 refreshHistory 方法),就会显示菜单选项和按钮,并且程序将显示现有文档版本。文档版本历史中显示的数据可以从 文档编辑服务 回调中获取。
所以文档版本历史显示的实现应该是这样的:
{ "key": "2745492410", "status": 2, "users": ["F89d8069ba2b"], "url": "https://documentserver/url-to-edited-document.docx", "history": { "serverVersion": serverVersion, "changes": changes } }
var onRequestHistory = function() { docEditor.refreshHistory({ "currentVersion": 2, "history": [ { "created": "2019-02-01 3:03 PM", "key": "2745492410", "user": { "id": "F89d8069ba2b", "name": "Kate Cage" }, "version": 1 }, { "changes": changes, "created": "2010-07-07 3:46 PM", "key": "Khirz6zTPdfd7", "serverVersion": serverVersion, "user": { "id": "78e1e841", "name": "John Smith" }, "version": 2 }, ... ] }); }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestHistory": onRequestHistory, ... }, ... });其中
文档编辑服务 将文档的所有临时更改保存到单独的文件中,一旦编译版本并收到 status 为 2,带有版本之间所有更改的存档链接也将发送到回调处理程序。
因此,如果您想额外显示版本之间的差异,您还必须使用 onRequestHistoryData 函数(用 events.onRequestHistoryData 事件),该函数必须包含 文档编辑服务 回调返回的数据。
除了 上述问题 中描述的操作外,您还需要:
{ "changesurl": "https://documentserver/url-to-changes.zip", "key": "2745492410", "status": 2, "users": ["F89d8069ba2b"], "url": "https://documentserver/url-to-edited-document.docx", "history": { "serverVersion": serverVersion, "changes": changes } }
var onRequestHistoryData = function(event) { var version = event.data; docEditor.setHistoryData({ "changesUrl": "https://example.com/url-to-changes.zip", "key": "2745492410", "previous": { "key": "af86C7e71Ca8", "url": "https://example.com/url-to-the-previous-version-of-the-document.docx" }, "url": "https://documentserver/url-to-edited-document.docx", "version": version }) }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestHistoryData": onRequestHistoryData, ... }, ... });包含指向当前文档版本 (url) 和先前文档版本 (previous.url) 的有效链接以及 ID(key 和 previous.key)的对象必须传递给配置文件。 changesUrl 存档文件也必须可用并可从浏览器下载,才能显示更改。
ONLYOFFICE文档突出显示从当前文档会话开始时所做的更改,而不是从文档版本开始时所作的更改。 即使在一个会话中创建了多个文档版本,此会话中的所有更改也将突出显示。 因此,您无法在文档历史记录中看到使用强制保存选项创建的文档版本。