Partager via


Schéma de la définition d’un composant WebPart client

S’applique à : SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Le composant WebPart client est la structure de sauvegarde des composants d’application. Les parties d’application sont définies dans des documents XML et déployées dans le cadre d’une fonctionnalité.

Définition de schéma XML

Un document XML qui définit des composants WebPart clients doit être validé avec le schéma défini dans le fichier wss.xsd. Ce fichier se trouve sur le chemin d’accès suivant :

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

Éléments

Éléments

ClientWebPart

Remarques

L’élément ClientWebPart contient la définition principale d’un composant WebPart client. Un composant WebPart client est un mécanisme d’extensibilité de l’interface utilisateur qui permet aux applications d’afficher des informations dans le site web hôte. Vous pouvez afficher le contenu HTML d’une page dans un IFrame incorporé dans une page SharePoint.

Vous définissez la page à afficher à l’intérieur de l’IFrame à l’aide de l’attribut Src de l’élément Content . La page cible doit être autorisée à être affichée dans un cadre. Sinon, la page SharePoint affiche l’erreur suivante : ce contenu ne peut pas être affiché dans un cadre.

Certaines pages contiennent un en-tête HTTP X-FRAME-OPTIONS comme mécanisme pour empêcher les attaques ClickJacking . Vous devez évaluer soigneusement si la page prend en charge un scénario qui pourrait être ciblé par une attaque ClickJacking, telle qu’une page de transaction bancaire ou une page d’achat dans un magasin en ligne. Après avoir évalué le risque d’autoriser votre page cible à être encadrée par des pages externes, vous pouvez supprimer l’en-tête HTTP X-FRAME-OPTIONS pour afficher votre page dans un composant WebPart client.

Par défaut, les pages SharePoint incluent un en-tête HTTP X-FRAME-OPTIONS . Si vous utilisez une page SharePoint comme cible pour votre composant WebPart Client, vous pouvez supprimer l’en-tête X-FRAME-OPTIONS en ajoutant le composant WebPart AllowFraming.

L’extrait de code suivant vous montre comment ajouter un composant WebPart AllowFraming à votre page SharePoint :

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

Vous pouvez ajouter des propriétés personnalisées à votre composant WebPart Client. Vous définissez les propriétés personnalisées dans le fichier Elements.xml de la fonctionnalité. Il existe quatre types de propriétés personnalisées :

  • string
  • entier
  • valeur booléenne
  • Énumération

Vous pouvez détecter quand l’utilisateur modifie votre composant WebPart client à l’aide du _jeton editMode_ . Le _jeton editMode_ retourne 1 si le composant WebPart client est en mode édition et 0 dans le cas contraire.

La page cible peut redimensionner dynamiquement l’IFrame du composant WebPart client. Vous pouvez utiliser JavaScript pour émettre un postmessage avec la hauteur et la largeur souhaitées. Pour obtenir un exemple de code qui vous montre comment redimensionner un composant d’application, consultez Redimensionner dynamiquement des composants d’application dans des applications pour SharePoint.

Les composants WebPart clients ne prennent pas en charge les connexions de composants WebPart.

Exemple

L’exemple suivant montre un fichier XML qui déclare un composant WebPart client. Pour obtenir un article qui présente les étapes de création et de déploiement d’un composant d’application, consultez Créer des composants de complément à installer avec votre complément 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>

Voir aussi