Bonjour,
J'utilise les framework JSF (2.2) et PrimeFaces (6.1.2) dans une appli web.
Dans une page xhtml, j'affiche deux graphiques de chart.js.
Les graphiques ne peuvent s'afficher correctement qu'apr�s le load de la page par window.onload
(sinon, je me retrouve avec une l�gende de graphique en haut qui cache le titre, les infos bulles ne sont pas celles que j'ai d�finies etc).
J'ai donc ce code dans le head de la page pour d�clencher l'affichage des graphiques :
La page est appel�e depuis une autre par :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 <script> window.onload = function () { drawChart('espaceStandardGraphique1', 'idCanvasGraphique1'); drawChart('espaceStandardGraphique2', 'idCanvasGraphique2'); }; </script>
Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 <p:commandLink value="Espace standard" action="pageGraphiqueEspaceStandard.xhtml"/>
Le probl�me est que le window.onload de la page ne s'�xecute pas (rien ne s'affiche).
Pour que le window.onload de la page s'�xecute bien, je dois ajouter 'ajax=false' � l'appel de la page :
Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 <p:commandLink value="Espace standard" action="pageGraphiqueEspaceStandard.xhtml" ajax = "false"/>
Ici tout se passe bien, sauf qu'une page blanche s'affiche bri�vement avant d'afficher la page et ses deux graphiques.
Il y a donc un effet flash tr�s d�sagr�able, d'autant que mon fond de page est fonc�.
Comment faire pour supprimer ce flash ?
Notes :
J'obtiens le m�me flash avec le commandLink de JSF.
Si je remplace window.onload par
window.addEventListener('DOMContentLoaded', function () ...
ou
$(document).ready(function () ...
les graphiques ne s'affichent pas correctement (l�gende en haut qui cache le titre, les infos bulles ne sont pas celles que j'ai d�finies etc
Partager