Webpage (HTML) の Web リソース
Web ページ (HTML) の Web リソースを使用して、クライアント拡張のためのユーザー インターフェイス要素を作成します。
HTML web リソースの機能
HTML Web リソースはユーザーのブラウザーにストリームされるので、ユーザーのブラウザーで表示される任意のコンテンツを含めることができます。
HTML web リソースの制限
- サーバーで実行する必要のあるコードを HTML Web リソースに含めることはできません。 ASP.NET のページを HTML Web リソースとしてアップロードすることはできません。
- HTML Web リソースでは、限られた数のクエリ文字列パラメーターのみ受け取ることができます。 HTML Web リソースへのパラメーターの引き渡し
- フォームにコントロールとして埋め込まれた HTML ウェブリソースは、パフォーマンス上の理由で、フォームのランタイムによって再読み込みされる場合があります。 たとえば、タブのナビゲーション中にフォームのランタイムがコントロールを破棄して再初期化する場合があります。
HTML Web リソースでテキスト エディターを使用する
Web リソース フォームに付属のテキスト エディターは、シンプルな HTML の編集に使用します。 高度な HTML ドキュメントの場合は、外部エディターでコードを編集し、参照ボタンを使用してファイルのコンテンツをアップロードする必要があります。
たとえば、スクリプトを使用してページのコンテンツを表示する複雑な HTML ページの先頭部分は次のようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<script src="Script/Script.js" type="text/javascript"></script>
<link href="CSS/Styles.css" rel="stylesheet" type="text/css" />
</head>
<body onload="SDK.ImportWebResources.showData()">
<div id="results" />
</body>
</html>
テキスト エディタでドキュメントが開かれ、保存されると、HTML は以下のサンプルのように変更されます:
<HTML><HEAD><TITLE></TITLE>
<META charset=utf-8></HEAD>
<BODY contentEditable=true onload=SDK.ImportWebResources.showData()>
<SCRIPT type=text/javascript src="Script/Script.js"></SCRIPT>
<LINK rel=stylesheet type=text/css href="CSS/Styles.css">
<DIV id=results></DIV></BODY></HTML>
管理ソリューションの Web リソースの編集の禁止
テキスト エディタを使用して Web リソースの HTML を変更できる機能があるため、複雑な HTML Web リソースを管理ソリューションでカスタマイズできないように設定するには、管理プロパティを使用します。 ソリューションのウィンドウに Web リソースを表示する場合は、管理プロパティダイアログ ボックスを使用してカスタマイズ可能プロパティを false
に設定します。
HTML Web リソースからの他の Web リソースの参照
いずれかの Web リソース ファイルの種類を使用する一連の関連ファイルをモデル駆動型アプリ外で作成できます。 相対パスを常に使用し、web サイトのフォルダ構造を反映した一貫した命名規則で各 web リソースをインポートすると、HTML web リソースは、web リソースとしてインポートされた関連する CSS、XML、JScript、画像、Silverlight ファイルへのリンクを維持します。
たとえば、次の [フォルダー]/ファイル構造を使用する Web アプリケーション プロジェクトを作成するとします。
page.htm
[Styles]
- style.css
[Scripts]
- script.js
これらのファイルを Web リソースとしてインポートする場合、ソリューション発行者のカスタマイズの接頭辞は "new" で、次の方法で名前を付けることができます。
new_/page.htm
new_/Styles/style.css
new_/Scripts/script.js
このパターンに従うと、new_/page.htm
HTML Web リソースでは、以下の例に示すように、相対パスを使用する最も一般的な方法で他のファイルを参照できます。
<script src="Scripts/script.js" type="text/javascript"></script>
<link href="Styles/style.css" rel="stylesheet" type="text/css" />
ソリューションのすべての Web リソースでは、ソリューション発行者のカスタマイズの接頭辞は仮想ルート フォルダーになります。 カスタマイズの接頭辞を変更する場合、HTML Web リソース内の相対パスは変更されません。
ヒント
- フォームに追加された HTML Web リソースは、フォームに読み込まれた JavaScript ライブラリによって定義されたグローバル オブジェクトを使用できません。 HTML Web リソースは、
parent.Xrm.Page
またはparent.Xrm.Utility
を使用することによって、フォーム内のXrm.Page
またはXrm.Utility
オブジェクトとやりとりできますが、フォーム スクリプトで定義されたグローバル オブジェクトはその親を使用してアクセスできません。 HTML web リソースが必要とするライブラリは、HTML Web リソース内に読み込むようにすることで、フォームに読み込まれたスクリプトに依存しなくて済みます。 - web リソース間のコードに含まれる参照は、ソリューションの依存関係として追跡されません。
また、Web リソースはオフライン アクセス対応 Dynamics 365 for Microsoft Office Outlook のユーザー用としてもダウンロードされるので、ユーザーはオフライン作業中に Web リソースのコンテンツにアクセスできます。
HTML Web リソースへのパラメーターの引き渡し
HTML Web リソースでは、次の表に示すパラメーターのみ受け取ることができます。
パラメーター | 件名 | プロパティ |
---|---|---|
typename |
テーブル名 | テーブルの名前。 |
type |
テーブルの種類コード | 特定の組織内のテーブルを一意に識別する整数。 |
id |
オブジェクトの GUID | レコードを表す GUID です。 |
orgname |
組織名 | 組織の一意の名前です。 |
userlcid |
ユーザー言語コード | 現在のユーザーが使用している言語コードの識別子です。 |
orglcid |
組織言語コード | 組織の基本言語を表す言語コードの識別子です。 |
data |
任意のデータ パラメーター | 渡すことのできる任意の値です。 |
formid |
Form ID | フォーム ID を表す GUID です。 |
entrypoint |
エントリ ポイント | 文字列値。 このパラメーターは、テーブルのユーザー定義のヘルプ コンテンツとして開かれる Web リソースにオプション値として渡されます。 有効にすると、カスタム ヘルプの URL には form または hierarchychart の値が含まれます。 |
pagemode |
内部でのみ使用します。 | |
security |
内部でのみ使用します。 | |
tabSet |
内部でのみ使用します。 |
複数の値がデータ パラメーターで渡された場合、自動的にエンコードされます。 ロジックも、HTML Web リソースのスクリプトを使用して複数のパラメーターをデコードするために含める必要があります。 サンプル: データ パラメーターを使用した Web リソースへの複数の値の引き渡しの記事では、複数のパラメーター値の引き渡しに対処する 1 つの方法を示しています。
ヒント
クエリ文字列に含まれるすべての文字が検証され、渡されるパラメーターの有効性が確認されます。 無効であることが判明したパラメーターがある場合、要求は失敗します。 たとえば、角かっこで囲まれたテキスト値を渡すと、無効なパラメーターの種類と見なされます。
参照
Web リソース
アクセス可能な Web リソースの作成
スタイル シート (CSS) Web リソースの使用
JavaScript Web リソースの使用
データ (XML) Web リソースの使用
画像 (JPG、PNG、GIF、ICO) Web リソースの使用
スタイル シート (XSL) Web リソースの使用