次の方法で共有


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 分かかります。 個人データは収集されません (プライバシー ステートメント)。