2017-05-10 8 views
1

ユーザーがブラウザから自分のアドインのURLにアクセスしたかどうかを検出する必要があります。outside OfficeとOffice onlineの。 (私はそれがオンラインエクセル、またはExcelであるかどうかを検出について、ここでの質問を見て、ではなくどちらもそれらのてきました。)ホストを正しく確認する方法:Office、OfficeのオンラインとWebブラウザ

私は、ユーティリティ機能OfficeHelpers.Utilities.hostOfficeHelpers.Utilities.isAddin見てきたが、code notesこれらはのみ動作しますと言いますOffice.initializeが呼び出された後。 URLがOfficeクライアントの外部からナビゲートされた場合、これは(?)ではありません。 Warning in Google Chrome Office.initializeはそれがない持っていないことを、実行されないことを確認するために...:

だから、私はあなたが警告を受けるとき何が行われているのと同じチェックを実行する必要があると思いますまだを実行してください。

本の簡単な使用、直接彼らはアドインとして、それをロードせずにこれをアクセスすることはできません説明して表示するページへのユーザー、およびアドインをロードする方法の手順など

になります私が得ようとしている実際の結果は、両方のケースを次のように扱うことです。

Officeクライアントから:「GetData」はいくつかの値を返し、ドキュメントに書き出します。 ブラウザからアクセスした場合:「GetData」はいくつかの値を返し、表示にリダイレクトしてこれらを表示します。

答えて

0

現時点では素晴らしい解決策はありませんが、ここでは、Office.jsが片方向または別の方法でロードされたことを示す「Office.ready」を公開する機会があることに同意します。ホストとプラットフォームは安定して決定されます(安定して「Web」とNullになることが決定されています)。

Script Labについては、Office.jsを3秒間待ってから、解消セットのボタンを放棄してユーザーに表示し、ホストを選択するように求めています。その時点ではおそらく "web"と思うかもしれませんが、私たちの場合には曖昧さ回避エクスペリエンスを提供したいので、ユーザはWebスニペットを実行するか、ホストの選択を必要とするホスト固有のものを表示するかを選択できます。

どのように処理されているか知りたい場合は、https://github.com/OfficeDev/script-lab/blob/eeb4ba89a7a570cf1bb035fdd740ec7dcfb92822/src/client/app/helpers/environment.ts

の「初期化」機能を参照してください。
関連する問題