Office js OfficeJs displayDialogAsync-检查是否有打开的对话框窗口

Office js OfficeJs displayDialogAsync-检查是否有打开的对话框窗口,office-js,Office Js,我有一个excel加载项。我从外接程序中放置了两个内容窗格,我想从中打开一个对话框 一个excel同时只允许一个对话框窗口 当我在向服务器发出ajax请求之前打开对话框窗口时,但如果我无法打开对话框窗口,则不需要ajax调用 我试图将信息保存到localStorage,但如果excel为hurm并重新加载自身,localStorage将显示对话框已打开,而这是错误的信息 如何检查是否有打开的对话框窗口 提前感谢您的回答。如果已经打开了一个对话框,displayDialogAsyc方法将返回错误1

我有一个excel加载项。我从外接程序中放置了两个内容窗格,我想从中打开一个对话框

一个excel同时只允许一个对话框窗口

当我在向服务器发出ajax请求之前打开对话框窗口时,但如果我无法打开对话框窗口,则不需要ajax调用

我试图将信息保存到localStorage,但如果excel为hurm并重新加载自身,localStorage将显示对话框已打开,而这是错误的信息

如何检查是否有打开的对话框窗口


提前感谢您的回答。

如果已经打开了一个对话框,
displayDialogAsyc
方法将返回错误12007。如果返回12007,您可以对此进行测试并拥有代码分支。有关详细信息,请参阅。

我找到了一个解决方案,但我认为它不是最好的

首先,我尝试打开一个带有不可信站点url的对话框

如果我得到12004错误,这意味着我可以打开一个对话框窗口

如果我得到12007错误,这意味着我不能打开对话框窗口,因为我已经从这个主机窗口打开了一个对话框


看起来12007检查比12004检查运行得更早。

我理解您的解决方案,但我的代码如下:1:ajax调用2:when response receive from ajax->dialog open。我的问题是:如果我不能打开对话框窗口,我不应该创建ajax调用