Outlook外接程序:可固定任务窗格中的麻烦打开对话框

时间:2018-07-18 23:13:27

标签: outlook-addin office-js outlook-web-addins outlook-web-app

我是一名开发Microsoft Outlook加载项的开发人员,并且我们正在合并Pinnable Taskpane(有关更新清单的更多信息,请参见here)。我在使用功能Office.context.ui.displayDialogAsync在Outlook Web App for Office365帐户上启动对话框时遇到问题。固定任务窗格并且浏览电子邮件时,我们无法在第一个之后的iframe中显示对话框。当我们将displayInIframe参数设置为true时,此问题似乎只会影响OWA。 Windows上的Outlook 2016不会受到影响,我们认为这是因为桌面应用程序未使用displayInIframe参数。

复制步骤

  1. 加载具有可固定任务窗格功能和以下HTML的自定义加载项
  2. 在新标签中打开Outlook Web App会话
  3. 登录到Office365帐户
  4. 在“阅读”视图中打开电子邮件并打开加载项(如果任务窗格为 没有固定,固定它)
  5. 从加载项中,单击“启动对话框”按钮(对话框 应该打开)
  6. 在“阅读”视图中导航到另一封电子邮件
  7. 从加载项中,单击“启动对话框”按钮(该对话框会 未打开)
  8. 从加载项中,单击“启动对话框”按钮(我们看到一个12007 错误-对话框已打开)

此HTML包括从启动对话框中打印出asyncResult,因此您应该能够在控制台中看到详细的响应。我们是否缺少某些东西导致对话框被隐藏?

HTML

<button class="dialog-button">Click Here to Launch Dialog</button>
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/Office.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
	let testUrl = {{insert URL here}};
	$(document).ready(() => {
		$('.dialog-button').click(() => {
			Office.context.ui.displayDialogAsync(testUrl, {
      			height: 90,
      			width: 80,
      			displayInIframe: true,
    		}, (asyncResult) => {
    			console.log('asyncResult: ',asyncResult);
    			dialog = asyncResult.value;
    			dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
    		});
		});
	});

	let processMessage = (arg) => {
		dialog.close();
	}
</script>

0 个答案:

没有答案