Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Comment supprimer l’espacement blanc autour d’une liste affichée dans une iFrame dans un formulaire Dynamics CRM

Problématique

Lorsqu’on affiche une liste d’éléments associés dans une iFrame au sein d’un formulaire Dynamics CRM (cf. article précédent explicitant le procédé pour y parvenir) , il reste un espace blanc de chaque côté de celle-ci :

image

Comment supprimer ces espaces de couleur blanche ?

Proposition de solution

Si vous observez l’élément HTML dans la page, à l’aide par exemple de l’Internet Explorer Toolbar (ou des outils de développement de IE8), vous constaterez que ces espaces sont dû :

  • d’abord au padding de l’élément HTML correspondant qui n’est malheureusement pas à 0,

image

  • mais aussi, sur la droite, à la zone prévue pour une éventuelle barre de défilement (ce qui explique d’ailleurs que l’espace blanc est plus important à droite qu’à gauche puisqu’il cumule le problème du padding et de la scrollbar).

image

Conclusion, pour s’en débarrasser il suffit de supprimer les deux :-)

Le code

Voici le code à rajouter dans l’évènement onLoad du formulaire :

ATTENTION : pensez à remplacer le nom de l’iFrame (IFRAME_Clubs) par le nom de votre iFrame à vous !

crmForm.all.IFRAME_Clubs.attachEvent('onreadystatechange',func);

function func(event) {
  //Récupération de l'élément HTML (iframe) sur lequel porte l'évènement
  var target = event.target || event.srcElement;
  //Vérification du statut de chargement du contenu de l'iframe
  if(target.readyState=='complete') {
    //Récupération du body de l'iframe
    iframeBody=target.contentWindow.document.body;
    //Suppression du padding
    iframeBody.childNodes[0].rows[0].cells[0].style.padding = 0; 
    //Suppression de l'emplacement de la scrollbar verticale
    iframeBody.scroll = "no";
  }
}

Pourquoi attacher dynamiquement une fonction en réponse à l’évènement onreadystatechange sur l’iFrame ? 
Tout simplement parce que vous risquez d’accéder au contenu de l’iFrame avant même que celle-ci soit chargée ! L’évènement onreadystatechange se déclenche sur un élément justement lorsque le statut de celui-ci change. On l’utilise donc pour valider que le statut de l’iframe est à la valeur complete, indiquant la fin du chargement de son contenu!

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 15 décembre 2009 18:13 par bianca
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01