我在任务窗格应用程序中使用JavaScript APISettings
的对象在文档中保存一些键值对。
我的代码是这样的
Office.context.document.settings.set(key, value);
Office.context.document.settings.saveAsync(function () {
Toast.showToast("Setting saved", "Info saved into the document using saveAsync");
});
我也在调用saveAsync
它的函数来保持这个值。
我面临的问题是设置没有保留在 Word Online 中,因为当前设置对象不支持Word Online
那么有没有办法找到应用程序正在 Word Online 中运行,因此可以显示一条消息,或者可以使用 localStorage 或其他东西来保存值。
编辑:创建了一个用户语音请求以在 Word Online 中添加此功能,您可以在此处支持此功能
编辑 2
为了更好地解释问题并分享示例,我创建了一个示例插件,清单位于此处。
在这里您可以键入键的值test
并按保存,这会在内部调用saveToPropertyBag(key, value)
位于StorageLibrary.js
. 此函数具有上述代码来保存设置,然后saveAsync
被调用,以便将值保留在文档中。
现在您可以刷新浏览器或重新加载插件,然后按获取,该值将在 Excel 和 Powerpoint 中可用,但在 Word Online 中不可用。
所以我正在寻找一种检测主机(Word Online)的方法,以便我可以回退到另一种方式来存储本地存储等值并向用户显示警告。