あなたはその
親でWebページのようなものを試すことができます(実際のアドイン)JavaScriptコード
Office.context.ui.displayDialogAsync(url, options, function(result) {
var dialog = result.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, function(args){
dialog.close();
var json = JSON.parse(args.message);
//do what ever you need to do...
});
});
注:簡略化のために、私は場合は、「エラーチェック」を省略コールバック関数はエラーの結果を受け取ります。あなたもそれを世話してください。
url
で開かれたWebページでは、文字列もちろん
var asString = JSON.stringify(myObj);
Office.context.ui.messageParent(asString);
としてそれを表現した後、ダイアログウィンドウで開くWebページもOffice.jsを参照する必要がありますJSONオブジェクトを押し戻すための機能を持っています。 ここでは、このいわゆるのドキュメントリンクがあるdialogAPI https://dev.office.com/reference/add-ins/shared/officeui
編集:
元の質問は、あなたが情報を送信する必要がある場合は子供
に親からのデータを送信することですダイアログAPIで開いたページ。クエリのパラメータをurl
に追加することをお勧めします。あなたはJsonオブジェクトを文字列化して渡すことができます。これはあまりクリーンな考えではありません。 Standardized way to serialize JSON to query string?
ありがとうございました。しかし、これは私が尋ねたことではありません。あなたの例題showはJsonデータをダイアログから親に送ります。しかし、私はJsonオブジェクトを親からダイアログに送る必要があります。 – NishMJ
@NishMJ申し訳ありませんが、私は自分の答えを更新しました。元の答えは他の人にとって役に立ちそうなので、私は元の答えを保持しています。 –
ありがとうございます。しかし、ダイアログでURLパラメータを取得する方法がわかりません。親から送信されたダイアログ内でjsonオブジェクトを取得する方法の例を教えてください。 – NishMJ