Partager via


Utiliser les contrôles IFRAME et de ressource Web dans un formulaire

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Les contrôles IFRAME et de ressource Web intègrent du contenu dans les pages à partir d’un autre emplacement, en utilisant un élément HTML IFRAME.

Notes

Les conceptions choisies pour le formulaire sont également utilisées pour le volet de lecture Microsoft Dynamics 365 pour Outlook et les formulaires utilisés par Microsoft Dynamics 365 pour tablettes. Les ressources Web et IFRAMEs ne sont pas affichées dans le volet de lecture Dynamics 365 pour Outlook, toutefois, elles sont prises en charge dans Dynamics 365 pour tablettes. Si votre IFRAME dépend de l’accès à l’objet Xrm.Page de la page ou des gestionnaires d’événements de formulaire, vous devez configurer l’IFRAME de sorte qu’il ne soit pas visible par défaut.

Vous pouvez utiliser un IFRAME pour afficher le contenu d’un autre site Web dans un formulaire, par exemple, dans une page ASP.NET. L'affichage d'un formulaire d'entité dans un IFrame imbriqué dans un autre formulaire d'entité n'est pas pris en charge.

Vous pouvez utiliser l’une des ressources Web suivantes pour afficher le contenu des ressources Web dans un formulaire :

Notes

Silverlight est inclus pour la compatibilité descendante uniquement et n'est pas recommandée.Pour plus d'informations :Ressources Web (XAP) Silverlight

Les sections suivantes décrivent les options disponibles si vous souhaitez que ces contrôles affichent d’autres éléments en plus du contenu statique.

Contenu de la rubrique

Indiquer s’il faut restreindre les scripts sur plusieurs cadres

Transmettre des informations contextuelles sur l’enregistrement

Transmettre les données de formulaire

Modifier l’URL

Indiquer s’il faut restreindre les scripts sur plusieurs cadres

Utilisez l’option Restreindre les scripts sur plusieurs cadres en cas de prise en charge lorsque vous ne faites pas totalement confiance au contenu affiché dans un IFRAME. Lorsque cette option est sélectionnée, les attributs de l’IFRAME répertoriés dans le tableau suivant sont définis.

Attribut

Description

security=”restricted”

Cet attribut est pris en charge uniquement par les versions d'Internet Explorer qui ne sont pas antérieures à la version 6. L'attribut de sécurité applique le paramètre de sécurité Sites sensibles au fichier source de l'IFRAME. (Les paramètres de zone se trouvent sous l’onglet Sécurité de la boîte de dialogue Options Internet). Par défaut, les scripts ne sont pas activés dans la zone Sites sensibles. En modifiant les paramètres de sécurité de la zone, plusieurs résultats négatifs peuvent se produire, notamment l’autorisation des scripts à s’exécuter. Pour plus d’informations, consultez l’attribut security.

sandbox=””

Pour les navigateurs qui prennent en charge cet attribut, le contenu de l’IFRAME est essentiellement limité à l’affichage des informations. Les restrictions suivantes peuvent être appliquées :

  • Les plug-ins du navigateur sont désactivés.

  • Les formulaires et les scripts sont désactivés.

  • Les liens vers d’autres contextes de navigation sont désactivés.

  • Le contenu est considéré comme issu d’un autre domaine même si le domaine est identique.

Cet attribut est défini par W3C et est pris en charge par les navigateurs suivants :

  • Internet Explorer 10, Internet Explorer 11 et Microsoft Edge

  • Google Chrome

  • Apple Safari

  • Mozilla Firefox

Pour plus d'informations sur l'attribut sandbox, consultez :

Activation de la communication d’un IFrame sur plusieurs domaines

Vous souhaitez parfois activer la communication d'un IFRAME dont le contenu est issu d'un autre domaine.Window.postMessage est une méthode de navigateur qui fournit cette fonctionnalité pour les versions d'Internet Explorer qui ne sont pas antérieures à Internet Explorer 8.Google Chrome, Mozilla Firefox et Apple Safari la prennent également en charge. Pour plus d’informations sur l’utilisation de postMessage, consultez les billets de blog suivants :

Transmettre des informations contextuelles sur l’enregistrement

Vous pouvez fournir des informations contextuelles en transmettant des paramètres à l’URL définie dans le contrôle. La page affichée dans le cadre doit pouvoir traiter les paramètres qui lui sont transmis. Tous les paramètres contenus dans le tableau ci-dessous sont transmis si l’IFRAME ou la ressource Web est configuré à l’aide de l’option Transm. code type d’objet d’enregistr. et id. unique comme paramètres. L’élément XML du formulaire correspondant est <PassParameters> (FormXml).

Vous pouvez spécifier si tous les paramètres contenus dans le tableau suivant sont transmis.

Paramètre

Nom

Description

typename

Nom de l'entité

Nom de l'entité.

type

Code de type d’entité

Entier qui identifie de manière unique l’entité dans une organisation spécifique.

id

GUID de l’objet

GUID qui représente un enregistrement.

orgname

Nom de l’organisation

Nom unique de l’organisation.

userlcid

Code de langue de l’utilisateur

Identificateur du code de langue utilisé par l’utilisateur actuel.

orglcid

Code de langue de l’organisation

Identificateur du code de langue représentant la langue de base de l’organisation.

Les codes de langue sont des ID de paramètres régionaux à quatre ou cinq chiffres. Les valeurs d'ID de paramètres régionaux valides sont disponibles sur la page Tableau des ID de paramètres régionaux (LCID).

Notes

Nous vous suggérons d’utiliser le nom d’entité au lieu du code de type, car le code de type d’entité des entités personnalisées peut être différent entre les organisations Microsoft Dynamics 365.

Exemple

L’exemple suivant montre l’URL sans paramètres.

http://myserver/mypage.aspx

L’exemple suivant montre l’URL avec les paramètres.

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

Lire les paramètres transmis

Les paramètres transmis sont généralement lus dans la page .aspx cible à l’aide de la propriété HttpRequest.QueryString. Dans la page HTML, les paramètres sont accessibles à l’aide de la propriété window.location.search en JavaScript. Pour plus d’informations, consultez Propriété HttpRequest.QueryString et Propriété search.

Transmettre les données de formulaire

Utilisez la méthode getValue sur les attributs contenant les données à transmettre à l’autre site Web, puis composez une chaîne des arguments de chaîne de requête que l’autre page peut utiliser. Utilisez un Événement OnChange de champ, un Événement OnReadyStateComplete IFRAME ou un Événement TabStateChange de l'onglet et la méthode setSrc pour ajouter vos paramètres à la propriété src de l’IFRAME ou de la ressource Web.

Si vous utilisez le paramètre de données pour transmettre les données à une ressource Web Silverlight, vous pouvez utiliser les méthodes getData et setData pour manipuler la valeur transmise via le paramètre de données. Pour les ressources Web (HTML) d’une page Web, utilisez la méthode setSrc pour manipuler directement le paramètre querystring.

Évitez d'utiliser l'Événement OnLoad. Les IFRAMES et les ressources Web sont chargés de manière asynchrone et il est possible que le chargement du cadre ne soit pas terminé avant la fin du script d'événement Onload. Cela peut entraîner le remplacement de la propriété src de l’IFRAME ou de la ressource Web modifié par la valeur par défaut de la propriété URL de l’IFRAME ou de la ressource Web.

Modifier l’URL

Vous pouvez modifier la cible de l’IFRAME en fonction des données du formulaire ou si l’utilisateur travaille hors connexion. Vous pouvez définir la cible de l’IFRAME de manière dynamique.

Notes

Lorsque vous modifiez la page cible de l’IFRAME, les paramètres ne sont pas transmis automatiquement à la nouvelle URL. Vous devez ajouter les paramètres de chaîne de requête à l’URL avant d’utiliser la méthode setSrc.

Exemple

L’exemple suivant montre comment définir la propriété src pour l’IFRAME et les paramètres en utilisant l’événement onChange d’un champ de groupe d’options.

//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);

Voir aussi

Écrire du code pour les formulaires Microsoft Dynamics 365
Utilisation de JavaScript avec Microsoft Dynamics 365
Référence rapide des scripts de formulaires

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright