2017-09-08 38 views
1

我們的Outlook office.js加載項使用window.open()打開了一個外部網站。該其他網站在Chrome,Firefox和Edge的Outlook 2013,Outlook 2016,Outlook for Mac和OWA中正常打開。它在Safari和IE的OWA中無法正確打開,但是如果您複製該URL並將其粘貼到新的Safari或IE窗口中,則它可以正常工作。來自Safari和IE中的OWA的window.open

有趣的是,如果在IE中添加outlook.office.com作爲可信站點,那麼這在IE中起作用。

當我說打開的窗口不起作用時,我的意思是它會檢查有效的操作系統,瀏覽器和Flash(以某種方式),並且在已給出的場景中失敗(但在新的瀏覽器窗口中成功)。

對於Safari和IE中的OWA和IE來說,調用上下文似乎不同,因爲outlook.office.com是受信任的站點時上下文已更正。由於Safari似乎沒有與受信任的站點相同的機制,因此此解決方法甚至不適用於Safari。

任何想法可能是什麼問題?謝謝。

更新:我剛將Safari更新到版本11.0(12604.1.38.1.7),Safari OWA不再出現此問題。實際上,window.open()調用或Dialog API調用的每個組合,有或沒有重定向頁面,都可以工作。有人在那裏做了很棒的工作!

回答

1

使用window.open()和Office Web加載項引入了許多問題,其中包括您遇到的問題。指導是使用Office.js附帶的Dialog API

使用Dialog API非常簡單。您可以閱讀更多內容並查看Use the Dialog API in your Office Add-ins中的一些示例場景。

+0

我嘗試使用Dialog API加載託管在加載項的域中的HTML文件,該文件立即重定向到其他站點,並且這具有相同的結果。我將研究示例場景以瞭解我可能會做錯什麼。謝謝。 – Carbo

+0

確保您在Office.initialize()函數內部處理該重定向,以便確保Outlook在離開該頁面之前連接了場景後面的位。 –

+0

請確定您指定了[app domains](https://dev.office.com/docs/add-ins/overview/add-in-manifests#specify-domains-you-want-to-open-in-使用Dialog API時,您的清單中的窗口添加窗口)。 –