Bruge IFRAME- og webressourceobjekter i en formular
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
IFRAME og webressourceobjekter integrerer indhold fra en anden placering på sider ved hjælp af et HTML IFRAME-element.
Bemærk
De design, du vælger til formularen, bruges også til læseruden og formularer i Microsoft Dynamics 365 til Outlook, der bruges af Microsoft Dynamics 365 til tablets. Ressourcer på internettet og IFRAMEs vises ikke ved hjælp af Dynamics 365 til Outlook læseruden, men de understøttes i Dynamics 365 til tablets. Hvis din IFRAME kræver adgang til objektet Xrm.Page på siden eller formularhændelseshandlere, skal du konfigurere IFRAME, så det ikke er synligt som standard.
Du kan bruge en IFRAME til at vise indholdet fra et andet websted i en formular, for eksempel på en ASP.NET-side. Vise en objektformular inden for en IFrame integreret i et andet objektformular understøttes ikke.
Du kan bruge en af følgende webressourcer til at vise indholdet af webressourcer i en formular:
Bemærk
Silverlight er udelukkende medtaget af hensyn til bagudkompatibiliteten og kan ikke anbefales.Flere oplysninger:Silverlight-webressourcer (XAP )
I følgende afsnit beskrives de indstillinger, du kan vælge, hvis du ønsker, at disse objekter skal vise mere end statisk indhold.
Dette emne indeholder
Vælg, om scripts på tværs af rammer skal begrænses
Overfør kontekstafhængige oplysninger om posten
Send formulardata
Skift URL-adresse
Vælg, om scripts på tværs af rammer skal begrænses
Brug indstillingen Begræns scripts på tværs af rammer, hvis det understøttes, når du ikke har fuld tillid til det indhold, der vises i en IFRAME. Når denne indstilling er valgt, har IFRAME de attributter, der er angivet i følgende tabel.
Attribut |
Beskrivelse |
---|---|
security=”restricted” |
Denne attribut understøttes kun af versioner af Internet Explorer, som ikke er tidligere end version 6. Sikkerhedsattributten gælder brugersikkerhedsindstillingen Usikre websteder i kildefilen for IFRAME. (Zoneindstillinger findes under fanen Sikkerhed i dialogboksen Internetindstillinger). Som standard ikke er scripts ikke aktiveret i zonen Usikre websteder. Når du ændrer sikkerhedsindstillingerne for zonen, kan forskellige negative resultater opstå, herunder at scripts tillades at køre. Du kan finde flere oplysninger under sikkerhedsattribut. |
sandbox=”” |
For browsere, der understøtter denne attribut, er indholdet i IFRAME hovedsagelig begrænset til kun at vise oplysninger. Følgende begrænsninger kan evt. være anvendt:
Denne attribut defineres af W3C og understøttes af følgende browsere:
Du kan finde flere oplysninger om sandbox-attributten her: |
Aktivering af IFRAME-kommunikation på tværs af domæner
Der er tidspunkter, hvor du vil tillade kommunikation for en IFRAME, der har indhold fra et andet domæne.Window.postMessage er en browsermetode, der giver denne mulighed for versioner af Internet Explorer, som ikke er tidligere end Internet Explorer 8.Google Chrome, Mozilla Firefox og Apple Safari understøtter det også. Du kan finde flere oplysninger om brug af postMessage i følgende blogopslag:
Overfør kontekstafhængige oplysninger om posten
Du kan angive kontekstafhængige oplysninger ved at overføre parametre til den URL, der er defineret i objektet. Den side, der vises i rammen, skal være i stand til at behandle parametre, der overføres til den. Alle parametre i følgende tabel overføres, hvis IFRAME eller webressourcen er konfigureret ved hjælp af indstillingen Postobjekttypekoden og det entydige id skal overføres som parametre. Det tilsvarende XML-formularelement er <PassParameters> (FormXml).
Du kan angive, om alle parametrene i tabellen nedenfor vil blive overført.
Parameter |
Navn |
Beskrivelse |
---|---|---|
typename |
Objektnavn |
Navnet på objektet. |
type |
Objekttypekode |
Det heltal, der entydigt identificerer objektet i en bestemt organisation. |
id |
Objekt-GUID |
Et GUID, der repræsenterer en post. |
orgname |
Organisationsnavn |
Det entydige navn på organisationen. |
userlcid |
Brugersprogkode |
Det sprogkode-id, der bruges af den aktuelle bruger. |
orglcid |
Organisationssprogkode |
Den sprogkode, der repræsenterer udgangssproget for organisationen. |
Sprogkoder er fire- eller femcifrede landestandard-id'er. Du kan finde gyldige landestandard-id'er på Locale ID (LCID) Chart.
Bemærk
Vi foreslår, at du bruger objektets navn i stedet for typekoden, fordi objekttypekoden for brugerdefinerede objekter kan være forskellig i forskellige Microsoft Dynamics 365-organisationer.
Eksempel
Følgende eksempel viser URL-adressen uden parametre.
http://myserver/mypage.aspx
Følgende eksempel viser URL-adressen med parametre.
http://myserver/mypage.aspx?id=%7bB2232821-A775-DF11-8DD1-00155DBA3809%7d&orglcid=1033&orgname=adventureworkscycle&type=1&typename=account&userlcid=1033
Læs overførte parametre
Overførte parametre læses typisk på .aspx-destinationssiden ved hjælp af egenskaben HttpRequest.QueryString. På en HTML-side er der adgang til parametrene ved hjælp af egenskaben window.location.search i JavaScript. Du kan finde flere oplysninger under Egenskaben HttpRequest.QueryString og søgeegenskaben.
Send formulardata
Brug metoden getValue på de attributter, der indeholder de data, der skal sendes til andet websted, og skriv en streng med forespørgselsstrengargumenter, som den anden side vil kunne bruge. Brug derefter en OnChange-hændelse i felt, IFRAME-hændelsen OnReadyStateComplete eller TabStateChange-hændelse på fane og setSrc-metoden til at knytte parametrene til egenskaben src for IFRAME eller webressourcen.
Hvis du bruger dataparameteren til at sende data til en Silverlight-webressource, du kan bruge metoderne getData og setData til at manipulere værdien, der sendes via dataparameteren. For webressourcer til websider (HTML) skal du bruge metoden setSrc til at manipulere parameteren querystring direkte.
Undgå at bruge OnLoad-hændelse.IFRAMES og webressourcer indlæses asynkront, og rammen er evt. først indlæst, når Onload-hændelsesscriptet er afsluttet. Dette kan medføre, at egenskaben src for IFRAME eller den webressource, du har ændret, bliver overskrevet af standardværdien for IFRAME eller URL-egenskaben for webressourcen.
Skift URL-adresse
Kan du evt. ændre destinationen for IFRAME baseret på overvejelser om dataene i formularen, eller om brugeren arbejder offline. Du kan angive destinationen for IFRAME dynamisk.
Bemærk
Når du ændrer destinationssiden for IFRAME, overføres parametre ikke til den nye URL automatisk. Du skal knytte strengparametre for forespørgslen til URL, før du bruger setSrc-metoden.
Eksempel
I følgende eksempel kan du se, hvordan du angiver egenskaben src for IFRAME og eventuelle parametre ved hjælp af hændelsen onChange i et felt for grupperede indstillinger.
//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);
Se også
Skriv kode til Microsoft Dynamics 365-formularer
Bruge JavaScript med Microsoft Dynamics 365
Formularscripter - hurtig henvisning
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret