Envisager de désactiver NavBar en cas d’ouverture par programmation de formulaires ou de vues
Catégorie : Conception, performance
Impact potentiel : Moyen
Symptômes
Lorsque vous ouvrez par programmation des formulaires ou des vues avec une URL, cela peut entraîner des performances plus lentes du client sur les réseaux à latence élevée lorsque la barre de navigation (NavBar) est activée.
Recommandation
Déterminez si vos utilisateurs doivent disposer de la barre de navigation complète lors de la création de personnalisations qui ouvrent des formulaires ou des vues via une URL. Dans la plupart des cas, les utilisateurs sélectionnent un lien pour ouvrir un formulaire, effectuer un travail rapide, puis fermer l′enregistrement. La désactivation de la barre de navigation diminue la quantité de ressources à charger, ce qui diminue le nombre de demandes réseau effectuées.
Lors de la création d′URL pour ouvrir des formulaires ou des vues, implémentez navbar=off
dans vos paramètres de chaîne de requête pour la page main.aspx
. L′exemple suivant ouvre un formulaire de compte avec la barre de navigation désactivée.
function disableNavBar() {
var globalContext = Xrm.Utility.getGlobalContext();
return globalContext.getClientUrl() + "/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&etc=1&id={11112222-bbbb-3333-cccc-4444dddd5555}&pagetype=entityrecord&navbar=off";
}
Important
Le paramètre de chaîne de requête navbar=off est uniquement disponible avec la page main.aspx
.
Schémas problématiques
Avertissement
Ces scénarios doivent être évités.
Conserver la barre de navigation (NavBar) activée ne signifie pas que les utilisateurs rencontreront des problèmes de performances. Cependant, cela signifie que davantage de ressources doivent être chargées sur le formulaire ou la vue, ce qui nécessite davantage de requêtes réseau. Sur les réseaux très latents, le fait de garder la barre de navigation activée peut entraîner une mauvaise expérience utilisateur.
Exemple d′une URL créée avec la NavBar activée
function enabledNavBar() {
var globalContext = Xrm.Utility.getGlobalContext();
// By default, NavBar is set to true if you do not include the parameter in the query string:
return globalContext.getClientUrl() + "/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&etc=1&id={11112222-bbbb-3333-cccc-4444dddd5555}&pagetype=entityrecord";
}
function enabledNavBarExplicit() {
var globalContext = Xrm.Utility.getGlobalContext();
// Explicitly defining that the NavBar will be enabled
return globalContext.getClientUrl() + "/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&etc=1&id={11112222-bbbb-3333-cccc-4444dddd5555}&pagetype=entityrecord&navbar=on";
}
Informations supplémentaires
Lorsque vous ouvrez d′autres enregistrements dans des applications pilotées par modèle, la barre de navigation est chargée avec les zones et les sous-zones définies dans le plan de site. En outre, elle affiche également le lanceur d′application Office qui affiche les applications Office 365 auxquelles l′utilisateur a accès.
Voir aussi
Ouvre les formulaires, vues, boîtes de dialogue et rapports avec une URL