Freigeben über


Clientwebpart-Definitionsschema

Gilt für: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Das Client-Webpart ist die Unterstützungsstruktur von App-Parts. App-Teile werden in XML-Dokumenten definiert und als Teil eines Features bereitgestellt.

XML-Schemadefinition

Ein XML-Dokument, das Clientwebparts definiert, muss mit dem in der Datei wss.xsd definierten Schema überprüft werden. Diese Datei befindet sich im folgenden Pfad:

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

Elemente

Elemente

ClientWebPart

Hinweise

Das ClientWebPart-Element enthält die Kerndefinition für ein Client-Webpart. Ein Client-Webpart ist ein Benutzeroberflächenerweiterungsmechanismus, mit dem Apps Informationen im Hostweb anzeigen können. Sie können den HTML-Inhalt einer Seite in einem in eine SharePoint-Seite eingebetteten IFrame rendern.

Sie definieren die Seite, die im IFrame gerendert werden soll, indem Sie das Src-Attribut des Content-Elements verwenden. Die Zielseite muss in einem Frame angezeigt werden dürfen, andernfalls wird auf der SharePoint-Seite der folgende Fehler angezeigt: Dieser Inhalt kann nicht in einem Frame angezeigt werden.

Einige Seiten enthalten einen HTTP-Header von X-FRAME-OPTIONS als Mechanismus, um ClickJacking-Angriffe zu verhindern. Sie müssen sorgfältig auswerten, ob die Seite ein Szenario unterstützt, das von einem ClickJacking-Angriff betroffen sein könnte, z. B. eine Banktransaktionsseite oder eine Einkaufsseite in einem Onlineshop. Nachdem Sie das Risiko bewertet haben, dass Ihre Zielseite von externen Seiten umrahmt werden kann, können Sie den HTTP-Header X-FRAME-OPTIONS entfernen, um Ihre Seite in einem Client-Webpart anzuzeigen.

Standardmäßig enthalten SharePoint-Seiten einen X-FRAME-OPTIONS-HTTP-Header . Wenn Sie eine SharePoint-Seite als Ziel für Ihr Client-Webpart verwenden, können Sie den X-FRAME-OPTIONS-Header entfernen, indem Sie das AllowFraming-Webpart hinzufügen.

Der folgende Codeausschnitt zeigt, wie Sie Ihrer SharePoint-Seite ein AllowFraming-Webpart hinzufügen:

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

Sie können Ihrem Client-Webpart benutzerdefinierte Eigenschaften hinzufügen. Sie definieren die benutzerdefinierten Eigenschaften in der Elements.xml-Datei des Features. Es gibt vier Typen von benutzerdefinierten Eigenschaften:

  • string
  • ganze Zahl
  • Boolescher Wert
  • Aufzählung

Sie können erkennen, wann der Benutzer Ihr Client-Webpart bearbeitet, indem Sie das Token _editMode_ verwenden. Das Token _editMode_ gibt 1 zurück, wenn sich das Client-Webpart im Bearbeitungsmodus befindet, andernfalls 0.

Die Zielseite kann die Größe des IFrames des Client-Webparts dynamisch ändern. Sie können JavaScript verwenden, um eine Postnachricht mit der gewünschten Höhe und Breite ausstellen. Ein Codebeispiel, das zeigt, wie Sie die Größe eines App-Parts ändern, finden Sie unter Dynamisches Ändern der Größe von App-Parts in Apps für SharePoint.

Clientwebparts unterstützen keine Webpartverbindungen.

Beispiel

Das folgende Beispiel zeigt eine XML-Datei, die ein Client-Webpart deklariert. Einen Artikel mit den Schritten zum Erstellen und Bereitstellen eines App-Parts finden Sie unter Erstellen von Add-In-Parts für die Installation mit Ihrem SharePoint-Add-In.

    <?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>

Siehe auch