Utiliser les contrôles IFRAME et de ressource Web dans un formulaire
Date de publication : novembre 2016
S’applique à : Dynamics CRM 2015
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 éléments IFRAME et de ressource Web n’apparaissent pas dans Microsoft Dynamics CRM pour tablettes. Avec Mise à jour de Microsoft Dynamics CRM Online 2015, vous pouvez commencer le développement préalable et le test des contrôles tactiles de CRM pour tablettes en activant la fonctionnalité d'aperçu pour afficher les IFrames et les ressources Web dans CRM pour tablettes.Pour plus d'informations :Création de ressources Web et de contenu IFRAME à utiliser avec le client CRM pour tablettes.
Notes
Les conceptions choisies pour le formulaire sont également utilisées pour le volet de lecture Microsoft Dynamics CRM pour Outlook et les formulaires utilisés par Microsoft Dynamics CRM pour tablettes. Les ressources Web et les IFRAMEs ne sont pas affichés à l’aide du volet de lecture Dynamics CRM pour Outlook ou de CRM 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 :
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 :
Cet attribut est défini par W3C et est pris en charge par les navigateurs suivants :
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 CRM 2015
Utiliser JavaScript avec Microsoft Dynamics CRM 2015
Référence rapide des scripts de formulaires
© 2017 Microsoft. Tous droits réservés. Copyright