3

CRM JavaScript Web リソースを追加して iframe 要素を管理しようとしましたが、iframe OnReadyStateComplete イベントが発生しません。以下では、最初のアラートは機能しますが、2 番目のアラートは機能しません。

function hello()
    {
        var audioPath= Xrm.Page.data.entity.attributes.get("new_audiopath").getValue();
         //var myAudio = document.createElement('audio');
         //myAudio.setAttribute('src', audioPath);
         // myAudio.play(); 

            var IFrame = Xrm.Page.ui.controls.get("IFRAME_Play");
            alert(audioPath);
            //var myAudio =Xrm.Page.ui.controls.get("audioSource");

          IFrame.OnReadyStateComplete=function(){
          alert('iframe ready');
     }
    }
4

2 に答える 2

1

OnReadyStateCompleteIFrame コントロールには、プロパティまたはイベントがありません。SDK ドキュメントは、フォーム デザイナーで使用できるメニュー オプションのみを示唆しています。

onloadただし、サポートされている方法で IFrameのイベントに関数をアタッチすることは実際には可能です。

var iFrameElement = Xrm.Page.getControl("IFRAME_Play").getObject();
iFrameElement.addEventListener("load", function() {
    alert("IFrame Play loaded!");
}

関数は IFrame オブジェクトを返し、iFrame のウィンドウとそれに含まれるドキュメントにそのおよびプロパティgetObjectを介してアクセスできるようにします。( HTML DOM IFrame オブジェクトも参照してください。)contentWindowcontentDocument

于 2016-04-04T15:28:18.617 に答える
1

同様の問題がありましたが、他のドメインの iframe コンテンツのみでした。イベントの発生を許可しないのは、セキュリティ上の制限だと思います。サーバー上の aspx ページを使用してこの問題を回避し、コンテンツをダウンロードして xrm スクリプト用に再作成しました。

于 2015-06-05T10:43:53.677 に答える