Freigeben über


Verwenden von IFRAME- und Webressourcen-Steuerelementen in einem Formular

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

IFRAME- und Webressourcesteuerelemente betten Inhalte von einem anderen Ort in Seiten mithilfe eines HTML IFRAME-Elements ein.

Hinweis

Die Designs, die Sie für das Formular auswählen, werden auch für den Microsoft Dynamics 365 für Outlook-Lesebereich und die Formulare verwendet, die von Microsoft Dynamics 365 für Tablets verwendet werden. Webressourcen und IFRAMEs werden nicht mithilfe des Dynamics 365 für Outlook-Lesebereichs angezeigt. Sie werden jedoch in Dynamics 365 für Tabletsunterstützt. Wenn der IFRAME vom Zugriff auf das Xrm.Page-Objekt der Seite oder von Formularereignishandlern abhängt, sollten Sie den IFRAME so konfigurieren, dass er standardmäßig nicht sichtbar ist.

Sie können einen IFRAME verwenden, um den Inhalt einer anderen Website in einem Formular anzuzeigen, beispielsweise in einer ASP.NET-Seite. Beim Anzeigen eines Entitätsformulars mit einem IFrame, das eingebettet in einem anderen Entitätsformular ist, wird nicht unterstützt.

Sie können eine der folgenden Webressourcen verwenden, um den Inhalt von Webressourcen in einem Formular anzuzeigen:

Hinweis

Silverlight ist nur für Abwärtskompatibilität enthalten und wird nicht empfohlen.Weitere Informationen:Silverlight (XAP)-Webressourcen

Die folgende Abschnitte beschreiben Ihre Optionen, wenn diese Steuerelemente mehr als statische Inhalte anzeigen sollen.

In diesem Thema

Auswählen, ob frameübergreifendes Skripting eingeschränkt werden soll

Übergeben kontextbezogener Informationen zum Datensatz

Übergeben von Formulardaten

Ändern der URL

Auswählen, ob frameübergreifendes Skripting eingeschränkt werden soll

Verwenden Sie die Option Frameübergreifendes Skripting einschränken, wenn unterstützt, wenn Sie dem Inhalt, der in einem IFRAME angezeigt wird, nicht vollständig vertrauen. Wenn diese Option ausgewählt ist, besitzt der IFRAME den Attributsatz, der in der folgenden Tabelle aufgeführt ist.

Attribut

Beschreibung

security=”restricted”

Dieses Attribut wird nur von Versionen von Internet Explorer ab Version 6 unterstützt. Das Sicherheitsattribut wendet die Benutzersicherheitseinstellung "Eingeschränkte Sites" auf die Quelldatei des IFRAME an. (Zoneneinstellungen befinden sich auf der Registerkarte Sicherheit des Dialogfelds Internetoptionen.) Standardmäßig ist die Skipterstellung in der Zone für eingeschränkte Sites nicht aktiviert). Durch Ändern der Sicherheitseinstellungen der Zone können unterschiedliche negative Ergebnisse auftreten, einschließlich das Zulassen der Ausführung von Skripts. Weitere Informationen finden Sie unter Sicherheitsattribute.

sandbox=””

Für Browser, die dieses Attribut unterstützen, ist der Inhalt im IFRAME im Wesentlichen darauf beschränkt, nur Informationen anzuzeigen. Die folgenden Einschränkungen können angewendet werden:

  • Browser-Plug-Ins sind deaktiviert.

  • Skripts und Formulare sind deaktiviert.

  • Links zu anderen Browserkontexten sind deaktiviert.

  • Inhalt wird wie aus einer anderen Domänen behandelt, auch wenn die Domäne identisch ist.

Dieses Attribut wird durch W3C definiert wird von den folgenden Browsern unterstützt:

  • Internet Explorer 10, Internet Explorer 11 und Microsoft Edge

  • Google Chrome

  • Apple Safari

  • Mozilla Firefox

Weitere Informationen zum Sandkastenattribut finden Sie unter:

Aktivieren der IFRAME-Kommunikation über Domänengrenzen hinweg

Manchmal möchten Sie die Kommunikation für einen IFRAME aktivieren, der Inhalt auf einer anderen Domäne enthält.Window.postMessage ist eine Browsermethode, die diese Funktionen für Versionen von Internet Explorer ab Internet Explorer 8 bereitstellt.Google Chrome, Mozilla Firefox und Apple Safari unterstützt dies ebenfalls. Weitere Informationen zu postMessage finden Sie in den folgenden Blogbeiträgen:

Übergeben kontextbezogener Informationen zum Datensatz

Sie können kontextbezogene Informationen durch Übergeben von Parametern an die im Steuerelement definierte URL bereitstellen. Die Seite, die im Frame angezeigt wird, muss in der Lage zu sein, übergebene Parameter zu verarbeiten. Alle Parameter in der folgenden Tabelle werden übergeben, wenn der IFRAME oder die Webressource mit der Option Datensatzobjekt-Typcode u. eindeut. Bezeichner als Parameter übergeben konfiguriert ist. Das entsprechende XML-Formularelement ist <PassParameters> (FormXml).

Sie können angeben, ob alle Parameter in der folgenden Tabelle übergeben werden.

Parameter

Name

Beschreibung

typename

Entitätsname

Der Name der Entität.

type

Entitätstypcode

Die ganze Zahl, die eindeutig die Entität in einer bestimmten Organisation identifiziert.

id

Objekt-GUID

Eine GUID, die einen Datensatz darstellt.

orgname

Organisationsname

Der eindeutige Name der Organisation.

userlcid

Benutzersprachcode

Die Sprachcode-ID, die vom aktuellen Benutzer verwendet wird.

orglcid

Organisationssprachcode

Die Sprachcode-ID, die die Ausgangssprache für die Organisation darstellt.

Sprachcodes sind vierstellige oder fünfstellige Gebietsschema-IDs. Gültige Gebietsschema-ID-Werte finden Sie unter Gebietsschema-ID-Diagramm (LCID).

Hinweis

Es ist empfehlenswert, den Entitätsnamen statt des Typcodes zu verwenden, da der Entitätstypcode für benutzerdefinierte Entitäten möglicherweise je nach Microsoft Dynamics 365-Organisation verschieden ist.

Beispiel

Im folgenden Beispiel wird die URL ohne Parameter gezeigt:

http://myserver/mypage.aspx

Im folgenden Beispiel wird die URL mit Parameter gezeigt:

http://myserver/mypage.aspx?id=%7bB2232821-A775-DF11-8DD1-00155DBA3809%7d&orglcid=1033&orgname=adventureworkscycle&type=1&typename=account&userlcid=1033

Lesen von übergebenen Parametern

Übergebene Parameter werden in der Regel auf der .aspx-Zielseite mithilfe der HttpRequest.QueryString-Eigenschaft gelesen. Auf einer HTML-Seite kann der Zugriff auf die Parameter mit der window.location.search-Eigenschaft in JavaScript erfolgen. Weitere Informationen finden Sie unter HttpRequest.QueryString-Eigenschaft und search-Eigenschaft.

Übergeben von Formulardaten

Verwenden Sie die getValue-Methode für die Attribute, die Daten enthalten, die Sie an die andere Website übergeben möchten, und erstellen Sie eine Zeichenfolge aus den Abfragezeichenfolgenargumenten, die die andere Seite verwenden kann. Verwenden Sie dann Feld-OnChange-Ereignis, IFRAME OnReadyStateComplete-Ereignis oder Registerkarte TabStateChange-Ereignis und die setSrc-Methode, um die Parameter an die src-Eigenschaft der IFRAME-Webressource anzufügen.

Wenn Sie den Datenparameter verwenden, um Daten an eine Silverlight-Webressource zu übergeben, können Sie die Methoden getData und setData verwenden, um den Wert zu ändern, der über den Datenparameter übergeben wird. Für Webseiten-Webressourcen (HTML) verwenden Sie die setSrc-Methode, um den querystring-Parameter direkt zu bearbeiten.

Meiden Sie die Verwendung von OnLoad-Ereignis.IFRAMES und Webressourcen werden asynchron geladen und der Frame ist möglicherweise noch nicht vollständig geladen, bevor das Onload-Ereignisskript abgeschlossen wird. Dies kann dazu führen, dass die Eigenschaft src oder der IFRAME der Webressource, die Sie geändert haben, durch den Standardwert des IFRAME oder der Webressourceneigenschaft URL überschrieben wird.

Ändern der URL

Sie möchten möglicherweise das Ziel von IFRAME basierend auf Überlegungen zu den Daten im Formular oder ob der Benutzer offline arbeitet ändern. Sie können das Ziel von IFRAME dynamisch festlegen.

Hinweis

Wenn Sie die Zielseite für den IFRAME ändern, werden Parameter nicht automatisch an den neuen URL-Parameter übergeben. Sie müssen Abfragezeichenfolgenparameter an die URL anfügen, bevor Sie die Methode setSrc verwenden.

Beispiel

Im folgenden Beispiel wird gezeigt, wie die Eigenschaft src für IFRAME und alle potenziellen Parameter mithilfe des Ereignisses onChange eines Optionssatzfelds festgelegt wird.

//Get the value of an option set attribute
var value = Xrm.Page.data.entity.attributes.get("new_pagechooser").getValue();
var newTarget = "";
//Set the target based on the value of the option set
switch (value) {
    case 100000001:
        newTarget = "http://myServer/test/pageOne.aspx";
        break;
    default:
        newTarget = "http://myServer/test/pageTwo.aspx";
        break;
}
//Get the default URL for the IFRAME, which includes the 
// query string parameters
var IFrame = Xrm.Page.ui.controls.get("IFRAME_test");
var Url = IFrame.getSrc();
// Capture the parameters
var params = Url.substr(Url.indexOf("?"));
//Append the parameters to the new page URL
newTarget = newTarget + params;
// Use the setSrc method so that the IFRAME uses the
// new page with the existing parameters
IFrame.setSrc(newTarget);

Siehe auch

Schreiben von Code für Microsoft Dynamics 365-Formulare
Verwendung von JavaScript mit Microsoft Dynamics 365
Kurzübersicht zum Formularskripting

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright