IFRAME en webresourcebesturingselementen op een formulier gebruiken
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
IFRAME en webresourcebesturingselementen sluiten inhoud van een andere locatie in pagina's in met een HTML IFRAME-element.
Notitie
De ontwerpen die u voor het formulier kiest, worden ook gebruikt voor het Microsoft Dynamics 365 voor Outlook-leesvenster en de formulieren die worden gebruikt door Microsoft Dynamics 365 voor tablets. Webresources en IFRAMEs worden niet weergegeven in het leesvenster van Dynamics 365 voor Outlook, maar worden ondersteund in Dynamics 365 voor tablets. Als uw IFRAME afhankelijk is van toegang tot het Xrm.Page-object van de pagina of van formuliergebeurtenishandlers, moet u de IFRAME zo configureren dat deze niet standaard zichtbaar is.
U kunt een IFRAME gebruiken om de inhoud van een andere website in een formulier weer te geven, bijvoorbeeld in een ASP.NET-pagina. Het weergeven van een entiteitsformulier in een ingesloten IFrame in een ander entiteitsformulier wordt niet ondersteund.
U kunt een van de volgende webresources gebruiken om de inhoud van webresources in een formulier weer te geven:
Notitie
Silverlight is alleen bedoeld voor achterwaartse compatibiliteit en wordt niet aanbevolen.Meer informatie:Silverlight-webresources (XAP)
De volgende gedeelten beschrijven uw opties als u wilt dat deze besturingselementen meer weergeven dan statische inhoud.
In dit onderwerp
Selecteer of het uitvoeren van scripts tussen frames moet worden beperkt.
Contextinformatie doorgeven over de huidige record
Formuliergegevens doorgeven
De URL wijzigen
Selecteer of het uitvoeren van scripts tussen frames moet worden beperkt.
Gebruik de optie Het uitvoeren van scripts tussen frames beperken, indien ondersteund als u niet de volledig de inhoud vertrouwt die wordt weergegeven in een IFRAME. Als deze optie is geselecteerd, heeft het IFRAME de kenmerken ingesteld die in de volgende tabel worden vermeld.
Kenmerk |
Beschrijving |
---|---|
security=”restricted” |
Dit kenmerk wordt uitsluitend ondersteund door versies van Internet Explorer die niet ouder zijn dan versie 6. Het beveiligingkenmerk past de gebruikersbeveiligingsinstelling Beperkte locaties toe op het bronbestand van de IFRAME. (Zone-instellingen bevinden zich op het tabblad Beveiliging van het dialoogvenster Internetopties.) Scripts zijn standaard niet ingeschakeld in de Beperkte locaties. Als u de beveiligingsinstellingen van de zone wijzigt, kunnen allerlei negatieve resultaten optreden, inclusie dat scrips mogen worden uitgevoerd. Voor meer informatie raadpleegt u beveiligingskenmerk. |
sandbox=”” |
Voor andere browsers die dit kenmerk ondersteunen, wordt de inhoud in het IFRAME beperkt tot alleen het weergeven van gegevens. De volgende beperkingen kunnen worden toegepast:
Dit kenmerk wordt gedefinieerd door W3C en wordt ondersteund door de volgende browsers:
Voor meer informatie over het sandboxkenmerk raadpleegt u: |
Iframe-communicatie inschakelen tussen domeinen
Het kan voorkomen dat u communicatie wilt inschakelen voor een IFRAME die inhoud uit een ander domein bevat.Window.postMessage is een browsermethode die deze mogelijkheid biedt voor versies van Internet Explorer die niet ouder zijn dan Internet Explorer 8.Google Chrome, Mozilla Firefox en Apple Safari ondersteunen het ook. Zie de volgende blogberichten voor meer informatie over het gebruik van postMessage:
Contextinformatie doorgeven over de huidige record
U kunt contextinformatie opgeven door parameters door te geven aan de URL die in het besturingselement is gedefinieerd. De pagina die in het frame wordt weergegeven moet parameters kunnen verwerken die eraan worden doorgegeven. Alle parameters in de volgende tabel worden doorgegeven als de IFRAME of webresource is geconfigureerd met de optie Geef de recordobject-typecode en de unieke id als parameters door. Het overeenkomstige formulier XML-element is <PassParameters> (FormXml).
U kunt opgeven of alle parameters in de volgende tabel worden doorgegeven.
Parameter |
Naam |
Beschrijving |
---|---|---|
typename |
Naam van de entiteit |
De naam van de entiteit. |
type |
Entiteittypecode |
Het gehele getal dat uniek de entiteit in een specifieke organisatie identificeert. |
id |
Object-GUID |
Een GUID die een record vertegenwoordigt. |
orgname |
Organisatienaam |
De unieke naam van de organisatie. |
userlcid |
Gebruikerstaalcode |
De taalcode-id die door de huidige gebruiker wordt gebruikt. |
orglcid |
Taalcode van organisatie |
De taalcode-id die de standaardtaal voor de organisatie weergeeft. |
Taalcodes bestaan uit vier- of vijfcijferige landinstellingen-id's. U vindt de geldige LCID-waarden in het Diagram van landinstellingen-id's (LCID's).
Notitie
We raden aan dat u de entiteitnaam in plaats van de entiteitstypecode gebruikt omdat de entiteitstypecode voor aangepaste entiteiten kan verschillen tussen Microsoft Dynamics 365-organisaties.
Voorbeeld
Het volgende voorbeeld toont de URL zonder parameters.
http://myserver/mypage.aspx
Het volgende voorbeeld toont de URL met parameters.
http://myserver/mypage.aspx?id=%7bB2232821-A775-DF11-8DD1-00155DBA3809%7d&orglcid=1033&orgname=adventureworkscycle&type=1&typename=account&userlcid=1033
Doorgegeven parameters lezen
Doorgegeven parameters worden normaal gesproken in de doel .aspx-pagina gelezen met behulp van de eigenschap HttpRequest.QueryString. De parameters zijn op een HTML-pagina toegankelijk met behulp van de eigenschap window.location.search in JavaScript. Zie voor meer informatie Eigenschap HttpRequest.QueryString en Eigenschap search.
Formuliergegevens doorgeven
Gebruik de methode getValue van het kenmerk dat de gegevens bevat die u aan de andere website wilt doorgeven, en maak een tekenreeks van de queryargumenten die de andere pagina kan gebruiken. Gebruik vervolgens een Veldgebeurtenis OnChange, IFRAME-gebeurtenis OnReadyStateComplete of Tabbladgebeurtenis TabStateChange en de methode setSrc om uw parameters toe te voegen aan de eigenschap src van de IFRAME of de webresource.
Als u de gegevensparameter gebruikt om gegevens aan een Silverlight-webresource door te geven, kunt u de methoden getData en setData gebruiken om de via de gegevensparameter doorgegeven waarde te bewerken. Voor webpaginawebresources (HTML) gebruikt u de methode setSrc om de parameter querystring direct te bewerken.
Voorkom het gebruik van de Gebeurtenis OnLoad.IFRAMES en webresources worden asynchroon geladen en het frame is mogelijk nog niet klaar met laden voordat het Onload-gebeurtenisscript is voltooid. Hierdoor kan de eigenschap src van de IFRAME of webresource die u hebt gewijzigd, worden overschreven door de standaardwaarde van de IFRAME of de eigenschap URL van de webresource.
De URL wijzigen
U kunt het doel van de IFRAME wijzigen op basis van overwegingen als de gegevens in het formulier of de vraag of de gebruiker offline werkt. U kunt het doel van de IFRAME dynamisch instellen.
Notitie
Als u de doelpagina wijzigt voor de IFRAME, worden de parameters niet automatisch doorgegeven aan de nieuwe URL. U moet de queryparameters aan de URL toevoegen voordat u de methode setSrc gebruikt.
Voorbeeld
Het volgende voorbeeld laat zien hoe u de eigenschap src voor de IFRAME en eventuele parameters instelt met behulp van de gebeurtenis onChange van een optiesetveld.
//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);
Zie ook
Code schrijven voor Microsoft Dynamics 365-formulieren
JavaScript gebruiken met Microsoft Dynamics 365
Beknopte naslag voor het opstellen van formulierscripts
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht