2017-10-17 81 views
1

我試圖顯示一個在Office 2016的Outlook 2016(最近更新,EXE版本16.0.8431.2107)版本中運行的Outlook JS插件的對話框。Office.js displayDialogAsync引發內部錯誤

我在F12調試器控制檯中輸入的代碼如下:

Office.context.ui.displayDialogAsync(
    window.location.origin, 
    {width: 500, height: 500}, 
    function(result) { 
     console.log(result) 
    } 
); 

返回的結果是

error:{ 
    code: 5001, 
    message: "Ein interner Fehler ist aufgetreten.", 
    name: "Interner Fehler" 
}, 
status: "failed", 
value: undefined 

,並打開任何對話框。

我忽略了一些奇怪的要求嗎?

+0

您是否正在運行OWA或Windows Outlook客戶端中的加載項? – grg

+0

@grg在Windows Outlook 2016客戶端中,EXE版本16.0.8431.2107。 – Alexander

+0

嘗試將寬度和高度值設置爲小於100,因爲這些是對話框應占用的父窗口的百分比。 – grg

回答

0

問題已修復。

我說

最近更新

,並忘了提,我沒有更新我的測試之間重新啓動(辦公室沒有告訴我)。看起來重新啓動了伎倆;我現在正在獲得一個對話窗口。

1

如果你能夠F12調試你的腳本,你可以驗證window.location.origin的輸出。

Office加載項基於IE並使用特殊的安全設置。在這種情況下,IE可能會禁用window.location.origin。

在我自己的機器上,我可以看到它返回'undefined',所以在這種情況下,您傳遞的是未定義的url,並且API失敗。

如果您安裝了最新的IE,請確保在您的html頁面中包含以下元標記。它將強制Office加載項使用最新的IE設置,而不是兼容的視圖模式。

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>