2017-07-25 40 views
0

我创建一个Outlook插件使用JavaScript API,和色带具有如下定义按钮...无法打开从Outlook功能区一个链接的JavaScript API而不弹出一个窗口

<Item id="msgCheckHelp"> 
    <Label resid="checkHelpLabel"/> 
    <Supertip> 
    <Title resid="checkHelpTitle"/> 
    <Description resid="checkHelpDesc"/> 
    </Supertip> 
    <Action xsi:type="ExecuteFunction"> 
    <FunctionName>checkHelp</FunctionName> 
    </Action> 
</Item> 

然后,检查帮助功能如下定义见下文......

function checkHelp (event) { 
    window.open("help", "_blank"); 
    event.completed(); 
} 

的问题是,这个不被识别为一个用户事件。我试着将displayDialogAsync作为window.open的替代方法,但它只作为弹出窗口加载。

回答

0

如果你想在应用程序中显示您的帮助页面你需要在你的清单不同Action类型指定为跟随...

<Action xsi:type="ShowTaskpane"> 
    <SourceLocation resid="appHelp" /> 
</Action> 

而且里面Resources部分指定URL的资源ID为请按照...

<bt:Urls> 
    <bt:Url id="appHelp" DefaultValue="https://domain.../Help.html"/> 
</bt:Urls> 

现在,通过单击功能区按钮,任务痛苦将打开并显示您的帮助资源。

请注意:ActionExecuteFunction”提供挂钩到FunctionFile element设计,无需 UI交互运行函数;您不能将它与window.open()函数一起使用。

+0

显示Taskpane在加载项iframe中显示,而不是作为新选项卡显示。 –

+0

@JosephWhitley你没有说你想要打开浏览器的新选项卡的任何地方。事实上,桌面或移动Outlook将会是什么?无论如何,你的数量有限,他们在文章中都有描述:1.对话API; 2.在任务窗格中; 3.在应用页面上链接。再次,“ExecuteFunction”必须没有UI。 –

相关问题