您可以使用 文档编辑器查看文本文档、电子表格或演示文稿的历史记录。
文档历史记录与文档存储服务一起存储。 文档编辑器 将文档历史记录显示在左侧面板的版本列表中。 当您从列表中选择文档版本时,文档将被显示出来以供预览。
参考图和下面的步骤解释了在ONLYOFFICE 文档服务器中查看历史记录的过程。
指定事件处理程序,用于打开在文档编辑器初始化的配置脚本中的 版本历史 列表。 调用 onRequestHistory 事件时,必须执行 refreshHistory 方法。 如果每个版本都存在历史参数,则此方法包含每个文档版本的文档历史记录。
var onRequestHistory = function () { docEditor.refreshHistory({ "currentVersion": 2, "history": [ { "created": "2010-07-06 10:13 AM", "key": "af86C7e71Ca8", "user": { "id": "F89d8069ba2b", "name": "Kate Cage" }, "version": 1 }, { "created": "2010-07-07 3:46 PM", "key": "Khirz6zTPdfd7", "user": { "id": "78e1e841", "name": "John Smith" }, "version": 2 }, ... ], }); }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestHistory": onRequestHistory, ... }, ... });
在文档编辑器初始化的配置脚本中,指定用来 从版本历史中选择版本的事件处理程序。 调用 onRequestHistoryData 事件时,必须执行 setHistoryData 方法。 此方法包含对应版本文件的绝对 URL。
调用setHistoryData方法查看文档历史版本时,必须添加token来验证参数。
var onRequestHistoryData = function (event) { var version = event.data; docEditor.setHistoryData({ "fileType": "docx", "key": "Khirz6zTPdfd7", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxlVHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3IiwidXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tZXhhbXBsZS1kb2N1bWVudC5kb2N4IiwidmVyc2lvbiI6Mn0.iRcdHve235L5K1e29SmUBkuHcxb63WHRko51WMJlmS0", "url": "https://example.com/url-to-example-document.docx", "version": 2 }); }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestHistoryData": onRequestHistoryData, ... }, ... });
在文档编辑器初始化的配置脚本中,指定事件处理程序,当用户单击版本历史记录中的恢复按钮时,将 恢复 文件版本。 当调用 onRequestRestore 事件时,必须执行 refreshHistory 方法才能再次初始化版本历史记录。 如果每个版本都存在历史参数,则此方法包含每个文档版本的文档历史记录。
var onRequestRestore = function (event) { var fileType = event.data.fileType; var url = event.data.url; var version = event.data.version; ... docEditor.refreshHistory({ "currentVersion": 2, "history": [ { "created": "2010-07-06 10:13 AM", "key": "af86C7e71Ca8", "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": { "onRequestRestore": onRequestRestore, ... }, ... });
指定关闭历史记录按钮的事件处理程序,该按钮要在文档编辑器初始化的配置脚本中显示。 当用户尝试通过单击“关闭历史记录”按钮,而从查看文档版本历史记录返回到文档时, 调用 onRequestHistoryClose 事件并隐藏版本历史列表。 当该函数被调用时,编辑器必须在编辑模式下再次初始化。
var onRequestHistoryClose = function () { document.location.reload(); }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestHistoryClose": onRequestHistoryClose, ... }, ... });
如果文档版本是使用 文档编辑器创建的,则在查看文档历史记录时可以显示文档更改。 将编辑会话 保存 在文档版本旁边时,必须将附加数据保存到 文档存储服务 来实现此目的。 在 文档编辑器 中编辑后,有关编辑会话期间更改的信息将与更改的文档一起发送:
History - 当您在侧面板中查看文档历史时,此信息允许显示每个文档版本的时间和作者。 必须作为对象的属性更改作为参数发送给 refreshHistory 方法。
docEditor.refreshHistory({ "currentVersion": 2, "history": [ { "created": "2010-07-06 10:13 AM", "key": "af86C7e71Ca8", "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 }, ... ], });
其中 changes 是保存文档后返回的 历史对象 的 更改。
其中 serverVersion 是保存文档后返回的 历史对象 中的 serverVersion。
changesurl - 带有文档编辑数据的文件的绝对 URL,用于显示与特定文档版本相对应的更改。 必须保存文件,并且必须使用 setHistoryData 方法将其地址作为 changesUrl 参数发送。 必须将指向先前文档版本 (previous.url) 的链接添加到对象中。
当调用setHistoryData方法查看文档历史版本时,必须添加token来验证参数。
docEditor.setHistoryData({ "changesUrl": "https://example.com/url-to-changes.zip", "fileType": "docx", "key": "Khirz6zTPdfd7", "previous": { "fileType": "docx", "key": "af86C7e71Ca8", "url": "https://example.com/url-to-the-previous-version-of-the-document.docx" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaGFuZ2VzVXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tY2hhbmdlcy56aXAiLCJmaWxlVHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3IiwicHJldmlvdXMiOnsiZmlsZVR5cGUiOiJkb2N4Iiwia2V5IjoiYWY4NkM3ZTcxQ2E4IiwidXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tdGhlLXByZXZpb3VzLXZlcnNpb24tb2YtdGhlLWRvY3VtZW50LmRvY3gifSwidXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tZXhhbXBsZS1kb2N1bWVudC5kb2N4IiwidmVyc2lvbiI6Mn0.ril3Ol3rvYne3g0dG8TdKCiwJ7-7kkYGc6-XWMvp8FU", "url": "https://example.com/url-to-example-document.docx", "version": 2 });