2017-07-25 72 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。 –

相關問題