getContentWindow (クライアント API 参照)
IFRAME または Web リソースを示す、コンテンツ ウィンドウを返します。
注意
このメソッドは、統一インターフェイスでのみサポートされます。
サポートされているコントロールの種類
iframe、Web リソース
構文
formContext.getControl(arg).getContentWindow().then(successCallback, errorCallback);
Parameters
件名 | タイプ | Required | Description |
---|---|---|---|
successCallback |
Function | いいえ | オペレーションが正常に実行されたときにコールされる関数。 IFRAME または Web リソースを表すコンテンツ ウィンドウ インスタンスが関数に渡されます。 |
errorCallback |
Function | いいえ | 処理が失敗したときに呼び出す関数。 |
戻り値
成功時に、IFRAME または Web リソースを表すコンテンツ ウィンドウ インスタンスを含む promise を返します。
例
次の例は、HTML Web リソース (new_myWebResource.htm) でこのメソッドを使用する方法を示します。
まず、HTML Web リソースに次のコードを追加します。
// This script should be in the HTML web resource.
// No usage of Xrm or formContext should happen until this method is called.
function setClientApiContext(xrm, formContext) {
// Optionally set Xrm and formContext as global variables on the page.
window.Xrm = xrm;
window._formContext = formContext;
// Add script logic here that uses xrm or the formContext.
}
次に、OnLoad イベント ハンドラーのフォームに次のコードを追加します。
// This should be in a script loaded on the form.
// form_onload is a handler for the form onload event.
function form_onload(executionContext) {
var formContext = executionContext.getFormContext();
var wrControl = formContext.getControl("WebResource_CustomName");
if (wrControl) {
wrControl.getContentWindow().then(
function (contentWindow) {
contentWindow.setClientApiContext(Xrm, formContext);
}
)
}
}
そのような初期化が必要な場合は、同様の初期化コードを TabStateChange event ハンドラーに追加する必要があります。 再利用する場合初期化コードは、べき等である必要があります。 パフォーマンス上の理由により、フォームはタブ ナビゲーション中にコントロールを破棄して再初期化する場合があります。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。