2017-08-06 6 views
2

JavaScript APIを使用してOutlookアドインを開発しています。 Googleのアドインは、ネイティブのOutlook 2016の内部で、Chromeや他のウェブブラウザを使用してoutlook.office365.comにブラウズするとうまく機能します。
Internet Explorerを使用してOutlook Webサイトを参照しているときにアドインを起動しようとすると、アドインが読み込まれません(先頭に「アドインエラー」黄色の通知が表示されます)。
これはすべてのコンピュータで発生するわけではありません。現在、それは一貫して起こり、先週別のコンピュータで発生しましたが、それ以降は何も起こりませんでした。 IEを使用するほとんどのコンピュータでは、アドインが正常に動作します。最も簡単なOutlookアドインがInternet Explorerで読み込まれない

私は、私たちのコードのどの部分が私たちに苦労しているのか把握しようとして、私たちのアドインをスリム化しようとしました。私は可能な限りシンプルなアドインを手に入れてしまいましたが、その単一のコンピュータのIEではまだ起動しません。この簡単なアドインhereを見ることができます。 このアドインはoffice.jsにリンクし、initializeコールバックのdivに単純なテキストを追加します。単一のコンピュータを除いて、他のすべての場所でうまく動作します。

私のコンピュータはIE 11.483.15063.0、アップデートバージョン11.0.44を実行しています。

他に誰かがこの問題を抱えていますか?何が原因でしょうか?

答えて

0

タイムアウトを引き起こしているOfficeが遅すぎます。タイミングの問題であるため、さまざまなマシンとブラウザで異なる結果が表示されます(同時に、ネットワークの待ち時間によっても異なります)。

DOMがロードされた後にの後にまでOffice.initializeをトリガーしないという問題があります。あなたは、何がトリガされる前に初期化する必要があります。

<script> 
    // Initialize Office 
    Office.initialize = function() { 

     // Wait for DOM to get fully loaded 
     window.onload = function() { 

      // Execute commands against DOM 
      var div = document.getElementById('after'); 
      div.innerText = 'after init'; 

     } 

    }; 
</script> 

私はあなたが役に立つかもしれません、まさにこのトピックに関するブログ記事を持っている:Super Simple Outlook Add-in。 GitHubでホストされている静的なHTMLページだけを使ってアドインを構築します。

+0

返信いただきありがとうございますが、動作しませんでした。 アドインがオフィスを初期化しません。オフィスが初期化された後でコールするコールバックを設定するだけです。その場合、私はonloadのために別のcbを設定します - 私はすでにonloadイベントの後にあるので、再度呼び出されることはなく、 "after init"コードは実行されません。 私のコードは正常に動作するはずです。 にoffice.jsをロードしてから、window.Officeの準備が整うまで(またはその場合)、「init」を設定する初期化cbを入れてください。 私のコードに何か問題があると確信しています。しかし、私はまだ何を見ることができません。 もう一度お試しいただきありがとうございます。 –

+1

これは完全に正しいわけではありません。 'onload'イベントと' initialize'イベントは、非同期的かつ並列的に発生します。この場合は、DOMが完了するまでinitを遅らせることになります。これがどのように配線されるべきかの例については、https://dev.office.com/docs/add-ins/develop/loading-the-dom-and-runtime-environment#checking-the-load-statusを参照してください。 –

+0

そのリンクをありがとう。私は読んで、また電話ダイヤラのサンプル(https://code.msdn.microsoft.com/office/Mail-apps-for-Outlook-dc28341f)をチェックし、それは私のために働くかもしれない何かを持っているようだ。私はそれが事実だと思う - ほとんどのコンピュータonLoadは、オフィスコールが初期化される前に起こるので、すべて正常に動作する。しかし、時には初期化が最初に行われることもあり、それをうまく機能させる必要があります。 私に案内してくれてありがとう。 –

関連する問題