2016-08-24 8 views
1

HTML Webリソース内からXrm.Page.dataオブジェクトにアクセスしようとしています。 Xrmコンテキストにアクセスしようとしましたが、Xrmコンテキストが未定義であるか、Xrm.Pageがnullであることがわかりました。 Webリソースのコードは次のとおりです。CRMのHTML WebリソースからXrm.Page.contextにアクセスできない

function GetClientUrl() { 
     if (typeof window.parent.Xrm.Page.context == "object") { 
      clientUrl = window.parent.Xrm.Page.context.getClientUrl(); 
     } 
     var ServicePath = "/XRMServices/2011/Organization.svc/web"; 
     return clientUrl + ServicePath; 
    } 

これは、HTML Webリソースに埋め込まれているときに追加されます。誰も私が間違っていることを説明することはできますか? ありがとうございます。

答えて

3

Microsoftは、Webリソースのコンテキストを取得する機能を提供しました。

あなたはへの参照を追加する必要があります。

var context = GetGlobalContext(); 
clientUrl = context.getClientUrl(); 

ドキュメント:GetGlobalContext function and ClientGlobalContext.js.aspx (client-side reference)

次に、あなたがそうのようなコンテキストを取得することができます

<script src="../ClientGlobalContext.js.aspx" type="text/javascript" ></script> 

1

参考文献ClientGlobalContextあなたのWebリソースにアクセスすると、CRMフォームと同様にXrmオブジェクトにアクセスできるようになります。親ページのXrmオブジェクトにアクセスする必要はありません。

<head> 
<title>HTML Web Resource</title> 
<script src="ClientGlobalContext.js.aspx" type="text/javascript" ></script> 
</head> 
関連する問題