クライアント Web パーツ定義のスキーマ

適用対象: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013

クライアント Web パーツは、アプリ パーツのバッキング構造です。 アプリ パーツは XML ドキュメントで定義され、フィーチャーの一部としてデプロイされます。

XML スキーマ定義

クライアント Web パーツを定義する XML ドキュメントは、ファイル wss.xsd で定義されているスキーマを使用して検証する必要があります。 このファイルは、次のパスにあります。

%ProgramFiles%\\Common Files\\Microsoft Shared\\web server extensions\\15\\TEMPLATE\\XML

要素

要素

ClientWebPart

備考

ClientWebPart 要素には、クライアント Web パーツのコア定義が含まれています。 クライアント Web パーツは、アプリがホスト Web で情報を表示できるようにする UI 機能拡張メカニズムです。 SharePoint ページに埋め込まれた IFrame でページの HTML コンテンツをレンダリングできます。

Content 要素の Src 属性を使用して 、IFrame 内でレンダリングするページを定義します。 ターゲット ページをフレームに表示できるようにする必要があります。それ以外の場合、SharePoint ページには次のエラー が表示されます。このコンテンツはフレームに表示できません

一部のページには、ClickJacking 攻撃を防ぐメカニズムとして X-FRAME-OPTIONS http ヘッダーが含まれています。 銀行取引ページやオンライン ストア内の購入ページなど、ClickJacking 攻撃の対象となる可能性があるシナリオがページでサポートされているかどうかを慎重に評価する必要があります。 ターゲット ページを外部ページでフレーム化できるようにするリスクを評価した後、 X-FRAME-OPTIONS http ヘッダーを削除して、クライアント Web パーツにページを表示できます。

既定では、SharePoint ページには X-FRAME-OPTIONS http ヘッダーが含まれます。 クライアント Web パーツのターゲットとして SharePoint ページを使用している場合は、AllowFraming Web パーツを追加して X-FRAME-OPTIONS ヘッダーを削除できます。

次のコード スニペットは、SharePoint ページに AllowFraming Web パーツを追加する方法を示しています。

    <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
        <WebPartPages:AllowFraming ID="AllowFraming1" runat="server" />
        <div>
            Your content
        </div>
    </asp:Content>

クライアント Web パーツにカスタム プロパティを追加できます。 フィーチャーのElements.xml ファイルでカスタム プロパティを定義します。 カスタム プロパティには、次の 4 種類があります。

  • 文字列
  • integer
  • ブール値
  • 列挙

editMode トークンを使用して、ユーザーがクライアント Web パーツを編集しているタイミングを _検出できます。_ editMode_ トークンは_、クライアント Web パーツが編集モードの場合は 1、それ以外の場合は 0 を返します。

ターゲット ページでは、クライアント Web パーツの IFrame のサイズを動的に変更できます。 JavaScript を使用して、目的の高さと幅で ポストメッセージ を発行できます。 アプリ パーツのサイズを変更する方法を示すコード サンプルについては、「 SharePoint 用アプリでアプリ パーツを動的にサイズ変更する」を参照してください。

クライアント Web パーツは Web パーツ接続をサポートしていません。

次の例は、クライアント Web パーツを宣言する XML ファイルを示しています。 アプリ パーツを作成して展開する手順を示す記事については、「 SharePoint アドインを使用してインストールするアドイン パーツを作成する」を参照してください。

    <?xml version="1.0" encoding="UTF-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
        <ClientWebPart
            Title="Basic app part"
            Name="Basic app part"
            Description="This is a basic app part with custom properties." >
            
            <!--  The properties are passed through the query string 
                    using the following notation: _propertyName_
                    in the Src property of the Content element  
              -->
            <Content
                Src="~remoteAppUrl/AppPartContent.aspx?strProp=_strProp_&amp;intProp=_intProp_&amp;boolProp=_boolProp_&amp;enumProp=_enumProp_&amp;editmode=_editMode_"
                Type="html"/>
            <Properties>
                <Property
                    Name="strProp"
                    Type="string"
                    RequiresDesignerPermission="true"
                    DefaultValue="String default value"
                    WebCategory="Basic app part category"
                    WebDisplayName="A property of type string.">
                </Property>
                <Property
                    Name="intProp"
                    Type="int"
                    RequiresDesignerPermission="true"
                    DefaultValue="0"
                    WebCategory="Basic app part category"
                    WebDisplayName="A property of type integer.">
                </Property>
                <Property
                    Name="boolProp"
                    Type="boolean"
                    RequiresDesignerPermission="true"
                    DefaultValue="false"
                    WebCategory="Basic app part category"
                    WebDisplayName="A property of type boolean.">
                </Property>
                <Property
                    Name="enumProp"
                    Type="enum"
                    RequiresDesignerPermission="true"
                    DefaultValue="1st"
                    WebCategory="Basic app part category"
                    WebDisplayName="A property of type enum.">
                    <EnumItems>
                        <EnumItem WebDisplayName="First option" Value="1st"/>
                        <EnumItem WebDisplayName="Second option" Value="2nd"/>
                        <EnumItem WebDisplayName="Third option" Value="3rd"/>
                    </EnumItems>
                </Property>
            </Properties>
        </ClientWebPart>
    </Elements>

関連項目