Delen via


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:

  • Browserinvoegtoepassingen worden uitgeschakeld.

  • Formulieren en scripts worden uitgeschakeld.

  • Koppelingen naar andere browsercontexts worden uitgeschakeld.

  • Inhoud wordt behandeld als vanaf een ander domein, ook als het domein hetzelfde is.

Dit kenmerk wordt gedefinieerd door W3C en wordt ondersteund door de volgende browsers:

  • Internet Explorer 10, Internet Explorer 11 en Microsoft Edge

  • Google Chrome

  • Apple Safari

  • Mozilla Firefox

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