Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

En plus d'intégrer et skier, il sait même écrire !
(Blog de Renaud Comte)

Actualités


  • Ancien MVP SharePoint 8 ans ...
    Des projets .Net, SharePoint 2013 ou Office 365 ??

    Contactez-nous :

Archives

SharePoint 2007 & Design : crash du mode feuille de données (Datasheet) sous IE

Il y a de temps en temps des surprises dans la personnalisation de SharePoint, si si.

La dernière en date que je viens de vivre avec l’un de mes collègues designer est proche d’une belle migraine, limite “nervous breakdown”

image

(désolé pour la référence)

Le contexte : Suite à une personnalisation avancée de la Master Page, l’ouverture d’une liste en mode feuille de donnée prend beaucoup de temps voir plante internet explorer …

image

Hum hum.

Donc après bien des tests, on a pu identifier des styles responsables d’une sorte de boucle infinie : merci le padding
>>> Et surtout ensuite, nous avons pu chercher sur le web de manière moins hasardeuse pour compléter notre analyse


Voici justement quelques posts TRES indicatifs

(Je ne saurais trop vous conseiller le dernier)

En résumé, la fonction GCComputeSizing du fichier Core.js dans le 12 assure le calcul de la dimension de la Grid.

Malheureusement, si la balise container s’appuie sur une DIV ou un TABLE qui possède, ou hérite d’un style avec du padding/margin voir un element enfant plus bas comme un footer, la fonction rentre dans une sorte de boucle infernal ralentissant tout le processus.

La fonction a des soucis a simplement “sizer” la hauteur du composant

Soit plusieurs pistes de solutions plus ou moins viable à tenter

  • Identifier les margin paddin : attention à votre style malheureusement
  • Dimensionner votre container
  • rajouter un style de dimensionnement clair et précis
    >>> la solution retenue dans mon cas

    .ms-bodyareaframe object {width:100%!important; height:auto!important;}
    (bien rajouter ce style sur la balise encapsulant votre contenu !!! )
  • Modifier la fonction dans le core.js

 

Bon évidemment, la dernière solution n’est pas une bonne pratique mais rien ne vous empêche de surcharger la fonction en externe via un second js voir directement dans la master

 

<script type="text/javascript">
function GCComputeSizing(GCObject) 
{ 
if (TestGCObject(GCObject)) 
{ 
var fBIDI=(document.documentElement.currentStyle.direction=="rtl"); 
var lGCWindowWidth=document.documentElement.scrollWidth; 
var lGCWindowHeight=(document.documentElement.scrollHeight>document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.documentElement.scrollHeight;
 var lGCObjectOffsetLeft=0; 
var lGCObjectOffsetTop=0; 
if (fBIDI) 
{ 
lGCObjectOffsetLeft=-180; 
lGCObjectOffsetTop=120; 
} 
else 
{ 
lGCObjectOffsetLeft=32; 
lGCObjectOffsetTop=-2; 
} 
var lGCObjectWalker=GCObject.parentElement; 
while (lGCObjectWalker !=document.body) 
{ 
lGCObjectOffsetLeft+=lGCObjectWalker.offsetLeft; 
lGCObjectOffsetTop+=lGCObjectWalker.offsetTop; 
lGCObjectWalker=lGCObjectWalker.offsetParent; 
if (fBIDI) 
if (lGCObjectWalker.offsetLeft > 0) 
break; 
} 
lGCObjectOffsetLeft+=GCObject.parentElement.offsetLeft; 
lGCObjectOffsetTop+=GCObject.parentElement.offsetTop; 
glGCObjectHeight=lGCWindowHeight - lGCObjectOffsetTop; 
if (glGCObjectHeight > lGCWindowHeight) 
glGCObjectHeight=lGCWindowHeight 
if (glGCObjectHeight < cGCMinimumHeight)f 
glGCObjectHeight=cGCMinimumHeight; 
if (fBIDI) 
{ 
glGCObjectWidth=lGCWindowWidth+lGCObjectOffsetLeft; 
} 
else 
glGCObjectWidth=lGCWindowWidth - lGCObjectOffsetLeft; 
if (glGCObjectWidth > lGCWindowWidth) 
glGCObjectWidth=lGCWindowWidth; 
if (glGCObjectWidth < cGCMinimumWidth) 
glGCObjectWidth=cGCMinimumWidth; 
} 
}
</script>

 

Normalement, tout devrais rentré dans la normale

Voila voila, je me retourne à ma VPC et les biberons Sourire

Renaud Comte aka TheMit (le CSS et SharePoint, c’est des fois proche du S&M…)
Member of WygTeam
http://www.wygwam.com
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: lundi 11 octobre 2010 17:38 par themit

Commentaires

Poppyto a dit :

HS:M'en parle pas on a eu une grosse embrouille à la boite avec ce fameux mode feuille de données sous SPS2003 parceque le parc était pas homogène sur les clients -Office 2003 &amp; Outlook 2007- du coup ça utilisait l'ocx stslist de 2007 et ca faisait cacher IE.... bref tout un programme :D

# octobre 11, 2010 22:28
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