【发布时间】:2015-10-26 17:05:21
【问题描述】:
我在任务窗格应用程序中使用JavaScript API 的Settings 对象在文档中保存一些键值对。
我的代码是这样的
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 中,因为当前设置对象是 not supported in Word Online
那么有没有办法发现应用程序正在 Word Online 中运行,从而可以显示一条消息,或者可以使用 localStorage 或其他东西来保存值。
编辑:创建了一个用户语音请求以在 Word Online 中添加此功能,您可以支持此功能here
编辑 2
为了更好地解释问题并分享一个例子,我创建了一个示例插件,清单位于here。
您可以在此处键入键 test 的值并按保存,这会在内部调用位于 StorageLibrary.js 中的函数 saveToPropertyBag(key, value)。这个函数有上面提到的代码来保存设置,然后saveAsync被调用,所以值被保存在文档中。
现在您可以刷新浏览器或重新加载插件,然后按获取,该值将在 Excel 和 Powerpoint 中可用,但在 Word Online 中不可用。
所以我正在寻找一种方法来检测主机(Word Online),以便我可以回退到另一种方式来存储本地存储之类的值并向用户显示警告。
【问题讨论】:
标签: ms-office office-addins office-js