我們的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調用的每個組合,有或沒有重定向頁面,都可以工作。有人在那裏做了很棒的工作!
我嘗試使用Dialog API加載託管在加載項的域中的HTML文件,該文件立即重定向到其他站點,並且這具有相同的結果。我將研究示例場景以瞭解我可能會做錯什麼。謝謝。 – Carbo
確保您在Office.initialize()函數內部處理該重定向,以便確保Outlook在離開該頁面之前連接了場景後面的位。 –
請確定您指定了[app domains](https://dev.office.com/docs/add-ins/overview/add-in-manifests#specify-domains-you-want-to-open-in-使用Dialog API時,您的清單中的窗口添加窗口)。 –