Del via


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:

  • Browser-plug-ins er deaktiveret.

  • Formularer og scripts er deaktiverede.

  • Links til andre søgekontekster er deaktiverede.

  • Indhold behandles, som om det kom fra et andet domæne, hvis domænet er det samme.

Denne attribut defineres af W3C og understøttes af følgende browsere:

  • Internet Explorer 10, Internet Explorer 11 og Microsoft Edge

  • Google Chrome

  • Apple Safari

  • Mozilla Firefox

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