Web リソースは、Microsoft Dataverse データベースに格納し、一意の URL アドレスを使用して取得する 仮想ファイル です。
ヒント
Web リソースと Power Apps コンポーネント フレームワークは、認証境界の背後にある IFRAMEing コンテンツをサポートしていません。 一部の埋め込み IFRAME は、ユーザーが外部サービスに直接ログインする場合、ブラウザ クライアントで動作する場合がありますが、モバイルやタブレットのアプリケーションではサポートされていません。 IFRAME 内にフォームを埋め込み、別のフォームに埋め込むという特定のシナリオはサポートされていません。 このようなシナリオ では、フォームをコンポーネントとして 使用します。
一般に、 Power Apps コンポーネント フレームワーク と カスタム ページ を使用して、構成可能で再利用可能で、より緊密な外部統合を構築します。 詳細: IFRAME コンポーネント
Web リソースの機能
Web リソースは、HTML ファイル、JavaScript、CSS、複数の画像形式など、Dataverse Web アプリケーションを拡張するために使用できるファイルを表します。 Web リソースは、URL 構文を使用して参照できるため、フォームのカスタマイズ、 SiteMap、またはアプリケーション リボンで使用できます。
Web リソースの URL 構文では、相対パス参照が許可されています。 開発ツールを使用すると、Web リソースと互換性のあるファイルの種類を使用して、開発サーバー上に相互依存ファイルのグループを作成できます。 その後、一貫した名前付け規則と相対パス参照を使用すると、すべてのファイルを Dataverse にアップロードした後に Web サイトが機能します。
Dataverse には Web リソースが格納され、ソリューション コンポーネントであるため、他の Dataverse 組織に簡単にエクスポートしてインストールできます。 オフライン アクセスを使用する Dataverse for Microsoft Office Outlook のユーザーは、ユーザーのデータと同期するため、オフライン時に Web リソースを使用できます。
フォーム エディターを使用して、フォームにフォーム対応 Web リソースを追加して構成します。
Dataverse は Web リソースをレコードとしてデータベースに格納するため、標準の手法を使用してレコードを作成、取得、更新することで、Web リソースをプログラムで管理できます。 テキストベースの Web リソース (JScript、CSS、XML、XSL、RESX、HTML) をアプリケーションで編集および保存できます。
Web リソースに関する制限事項
サーバーでコードを実行する ASP.NET (.aspx) ページの機能をサポートする Web リソースの種類はありません。 Web リソースは、ブラウザーが処理する静的ファイルに限定されます。 Web リソースには、Web サービス呼び出しを実行して Dataverse データと対話するためにブラウザーが処理するコードを含めることができます。
Web リソースにアクセスできるのは、Dataverse Web アプリケーションのセキュリティ コンテキストを使用する場合のみです。 アクセスできるのは、必要な特権を持つライセンスを受けた Dataverse ユーザーだけです。
サイズ制限
Organization.MaxUploadFileSize プロパティは、アップロードできるファイルの最大サイズを決定します。 Dynamics 365 アプリケーションの [システム設定] の [電子メール] タブで、このプロパティを設定します。 この設定では、メール メッセージ、メモ、Web リソースに添付できるファイルのサイズが制限されます。 既定の設定は 5 MB です。 詳細については、 環境設定 と ファイル サイズの制限に関するページを参照してください。
Web リソースの種類
web リソースの作成には 10 種類のファイル形式を使用できます。 次の表は、それぞれで使用する各ファイル形式、許可されているファイル拡張子、種類の値の一覧を示します。
| ファイル | ファイル拡張子 | タイプ |
|---|---|---|
| Web ページ (HTML) | .htm、.html | 1 |
| スタイル シート (CSS) | .css | 2 |
| スクリプト (JScript) | .js | 3 |
| データ (XML) | .xml | 4 |
| イメージ (PNG) | .png | 5 |
| イメージ (JPG) | .jpg | 6 |
| イメージ (GIF) | .gif | 7 |
| Silverlight (XAP) | .xap | 8 |
| スタイルシート (XSL) | .xsl、.xslt | 9 |
| イメージ (ICO) | .ico | 10 |
| ベクター形式 (SVG) | .svg | 11 |
| 文字列 (RESX) | .resx | 12 |
Web リソースの参照
いくつかの方法を使用して Web リソースを参照します。
ヒント
可能な場合は、$webresource ディレクティブを使用してください。 依存関係が確立されるのは、サイト マップまたはリボン コマンドで $webresource ディレクティブを使用している参照のみです。 Web リソースが相互参照している場合、依存関係は作成されません。
$webresource ディレクティブ
リボン コントロールまたは $webresource サブ領域から Web リソースを参照する場合は、常に SiteMap ディレクティブを使用します。 XML が URL 値を許可している場合は常に $webresource ディレクティブを使用してください。 次のサンプルは、その使用方法を示しています。
$webresource:<name of Web Resource>
ヒント
$webresource ディレクティブを使用すると、Dataverse がソリューションの依存関係を作成、または更新します。
Xrm.Navigation.openWebResource
Xrm.Navigation.openWebResource 関数は、Web リソースの名前を渡すパラメーター、データ パラメーターに渡すクエリ文字列データ、ウィンドウの高さと幅に関する情報を含む HTML Web リソースを新しいウィンドウで開きます。
生成された URL には、キャッシュされたウェブリソースが読み込まれるために一意の GUID トークンが含まれています。
相対 URL
$webresource: ディレクティブの使用をサポートしていない領域から Web リソースを参照する場合は、相対 URL を使用できます。
この方法を有効にするには、仮想ファイル構造を反映する Web リソースに対して一貫した名前付け規則を使用します。
ソリューション発行元のカスタマイズ プレフィックスを、Web リソースの名前のプレフィックスとして含めます。
このプレフィックスは、そのパブリッシャーによって追加されたすべての Web リソースの仮想 "ルート" フォルダーを表すことができます。
スラッシュ文字 (/) を使用して、Web サーバーが使用するフォルダー構造をシミュレートします。
別の Web リソースから、常に相対 URL を使用して相互に参照します。
たとえば、Web ページ Web リソース new_/content/contentpage.htm が CSS Web リソース new_/Styles/styles.css を参照するには、次のようにリンクを作成します。
<link rel="stylesheet" type="text/css" href="../styles/styles.css" />
Web ページ Web リソース new_/content/contentpage.htm が Web ページ Web リソース isv_/foldername/dialogpage.htm を開くには、次のようにリンクを作成します。
<a href="../../isv_/foldername/dialogpage.htm">Dialog Page</a>
ヒント
WebResources フォルダーを URL のルート パスとして使用する相対 URL は使用しないでください。
たとえば、/WebResources/<name of web resource> は使用しないでください。 ユーザーがサーバー上の複数の組織に属している場合、このパスはユーザーの既定の組織を参照します。 ユーザーが既定の組織を使用しない場合、および想定される Web リソースがユーザーの既定の組織に含まれていない場合は、Web リソースがユーザーの現在作業している組織内にあっても、「ファイルが見つからない」旨のエラーが発生します。
フル URL
次のサンプルでは、Web リソースの表示に使用できる URL の形式を示しています。
<Dataverse Environment URL>/WebResources/<name of web resource>
アプリケーションはこの URL を処理し、最新バージョンの Web リソースを含むファイルを返します。 この URL は次のようになります。
<Dataverse Environment URL>/%7B<version value>%7D/WebResources/<name of web resource>
バージョン値は、カスタマイズを発行すると更新され、ブラウザーで最新のキャッシュ されたバージョンの Web リソースが使用されるようになります。 このため、Web リソースの相対パスか、.Xrm.NavigationopenWebResource 関数、または可能であれば $webresource ディレクティブ を使用します (バージョン値が自動的に含められるためです)。 大規模な Web リソースの場合、キャッシュされたバージョンのファイルを使用しないと、パフォーマンスに大きな影響を与える可能性があります。
次のサンプルは、Dataverse Online の URLを示しており、ここで、MyOrganization は Dataverse 環境の名前で、new_/test/test.htm は Web リソース名です。
https://MyOrganization.crm.dynamics.com/WebResources/new_/test/test.htm
ヒント
Web リソース名に 「/」 文字とファイル名拡張子を含めることは、任意のベスト プラクティスです。 Dataverse で動作する Web リソースを参照するコードを記述するときは、 getClientUrl 関数を使用します。
従来の Web クライアントと統一インターフェイスのレイアウトの違い
特定の数の行を使用するように構成された Web リソース コントロールの高さは、統合クライアント アプリケーションと Web クライアント アプリケーションの高さが異なります。 この違いは、統一インターフェイスと Web クライアントの間の行の高さに違いがあるためです。 Web クライアントと統一インターフェイスの両方でフォームが必要な場合、統一インターフェイス アプリと Web クライアント アプリで異なるフォームを使用し、各フォームで適切な行数を使用するようにコントロールを構成できます。
コミュニティ ツール
WebResources Manager は、XrmToolbox コミュニティが Dataverse 用に開発したツールです。 コミュニティが開発したツールについては、開発者ツールの記事をご覧ください。
ヒント
コミュニティ ツールは Dataverse の製品ではなく、Microsoft ではコミュニティ ツールのサポートを提供していません。 ツールに関する質問がある場合は、発行元にお問い合わせください。 詳細については、「 XrmToolBox」を参照してください。
関連項目
アクセス可能な Web リソースの作成
Web ページ (HTML) の Web リソース
JavaScript Web リソース
イメージ Web リソース
スタイルシート (XSL) Web リソース
データ (XML) Web リソース
スタイル シート (CSS) Web リソース
Web リソース テーブル参照
サンプル: データ パラメーターを使用した Web リソースへの複数の値の引き渡し
サンプル: Web リソースとしてのファイルのインポート
Fiddler の自動レスポンダーを使用して Web リソース開発を合理化する