2017-05-10 13 views
1

我需要檢測用戶是否已從Office和Office聯機的瀏覽器以外的中擊中了我的加載項的URL。 (我在這裏看到的問題有關檢測無論是Excel或Excel的線上,但不都沒有如何正確檢查主機:Office,Office在線和Web瀏覽器

我已經看過了實用功能OfficeHelpers.Utilities.hostOfficeHelpers.Utilities.isAddincode notes說這些只會工作在調用Office.initialize之後。如果URL已從Office客戶端的外部導航,則情況不會如此(?)。

所以我想我需要你的時候得到警告來執行相同的支票無論是正在做的: Warning in Google Chrome ......以確保該Office.initialize不會被運行,而不是它有沒有運行還有

一個簡單的使用這一點,將用戶引導至顯示說明沒有加載它作爲一個附加的,他們不能訪問該頁面,並就如何加載外接等

說明我試圖得到的實際結果是處理這兩種情況:

在Office客戶端中:「GetData」將返回一些值並將它們寫入文檔。 如果從瀏覽器訪問:「GetData」將返回一些值並重定向到View以顯示這些值。

回答

0

目前沒有很好的解決方案,雖然我同意這裏有機會公開一個「Office.ready」來提供Office.js以某種方式加載的明確標誌 - 而且主機和平臺現在已穩定確定(包括確定爲穩定的「web」和null)。

對於Script Lab,我們使用等待Office.js三秒的方法,然後放棄並向用戶顯示一組消除按鈕,要求他們選擇主機。我們可以在這一點上安全地假設「網絡」,但在我們的案例中,我們希望在任何情況下都能提供消除歧義的體驗,因此用戶可以選擇是運行網頁代碼段還是查看特定於主機的網站,而無論如何都需要主機選擇。

如果您好奇看看它是如何完成的,請參閱https://github.com/OfficeDev/script-lab/blob/eeb4ba89a7a570cf1bb035fdd740ec7dcfb92822/src/client/app/helpers/environment.ts的「初始化」功能

相關問題