从FunctionFile删除漫游设置时的Outlook加载项问题

时间:2019-02-04 11:18:25

标签: javascript outlook-addin office-js

在使用我一直在使用的外接程序中使用漫游设置时遇到问题。

我们使用漫游设置来存储用户将要对其进行API调用的URL。加载项的清单使用菜单控件,因此提供了两个选项。一个会加载加载项本身,另一个是一些JavaScript来清除漫游设置。

Office.initialize = function (reason) {
}

function signOut(event) {
    Office.context.roamingSettings.remove('domain_url');
    Office.context.roamingSettings.saveAsync(() => {
        event.completed();
    }); 
}

我遇到的问题是,如果我加载加载项并使其保持打开状态,然后使用其他菜单项中的“删除漫游设置”选项,那么直到我关闭该漫游设置后,漫游设置才会被删除。加载项,然后再次打开。

已加载的加载项仍将能够通过以下方式获取那些漫游设置:

return <T>Office.context.roamingSettings.get(name);

,直到我关闭加载项为止。

有人知道即使漫游设置已被清除,为什么这些get调用仍能提供结果吗?为什么直到我关闭外接程序并重新打开它,上面的get调用才起作用?

>

1 个答案:

答案 0 :(得分:2)

以下是MS doc的引文:

  

重要提示:RoamingSettings对象是从   仅在首次加载外接程序时才持久存储。对于任务   窗格,这意味着仅在任务窗格首次启动时才对其进行初始化   打开。如果任务窗格导航到另一个页面或重新加载   当前页面,内存中的对象被重置为其初始值,   即使您的加载项已持续更改。持久的更改将   在任务窗格关闭并重新打开之前不可用。