2

新しいJavaScript APIで書かれたOfficeアドインがあります。その中には、いくつかのロジックでWebアプリケーションを開くJS関数があります。新しいウィンドウを使用window.open(url, '_blank')Outlook Javascript API - window.openはOutlook 2016からは動作しません。デスクトップ/ Windows

Outlook Webのアドインペインから、localhostホストアドイン、およびherokuの展開後に呼び出されたときに機能します。

コマンドから呼び出されたとき(リボン上のアドインボタン)、のみアドインがlocalhostでホストされている場合、herokuにアドインが配置された後、アドインが動作し、リボンは、JSロジックを実行しますが、window.openは何もしません。

新しいウィンドウを開く唯一の方法は、Office.context.ui.displayDialogAsyncを使用することですが、それでもページがアドインコードと同じ起点にある場合にのみ機能します。

私はいくつかのセキュリティ上の制限があると思いますが、なぜlocalhost上でホストされていたのですか?新しいJavascript APIを使用してOutlookのコマンドからブラウザウィンドウを開く方法はありますか?

答えて

1

これで私の経験では、window.openは力の並べ替えあなたがOffice.context.ui.displayDialogAsyncを使用するには、異なるプラットフォーム、一貫信頼性がないということでした。あなたが言及したように、あなたのドメインにないページを開こうとすると、それはあなたを騒がす。あなたの使用シナリオに応じて実行可能であるかもしれない、この周りにいくつかの方法があります私を見つけた:

  1. あなたはにウィンドウを開きたい部位を含むように、マニフェストの<AppDomains>セクションを更新することができます。このセクションは、一種のホワイトリストとして機能します。
  2. あなたのドメイン内で、他の場所にあなたをリダイレクトすることを目的としたページを指すことができます。私は、ウィンドウをリダイレクトするときの制限に遭遇していない。このメソッドをqstringパラメータと共に使用して、必要に応じてリダイレクトを制御します。
+0

私は、OWA IEとOWA Safariの別のドメイン(あなたのポイント#2のとおり)にリダイレクトすると、結果が混在しています。あなたのリダイレクトコードについていくつかの情報を共有してもよろしいですか?たぶん、新しい質問を作成し、それにいくつかの詳細を答えてください。ありがとう。 – Carbo

0

私はwindow.location.hrefがあなたのために働くと思います。

window.location.href = URL 
関連する問題