Controle WebBrowser

Le
Delf
Bonjour.

Une application WinForm dispose d'un WebBrowser affichant une page HTML
contenant des scripts jQuery.

Le rendu peut donc prendre 1, 2 secs une fois la page affichee, et donc
afficher pendant ce laps de temps un layout assez disgracieux (le temps
que les scripts Javascript s'executent).

Est-il possible de dire au controle de n'afficher la page que quand
celle-ci a fini son rendu "cote" client ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
La_fille_qui_pleure_du_sang
Le #20188581
Bonjour

Il es possible de tout mettre dans une dive avec un display none, et de
changer la propriété CSS en JS à la fin du script avec un display block

Dr

"Delf" news:4ab641e5$0$16769$
Bonjour.

Une application WinForm dispose d'un WebBrowser affichant une page HTML
contenant des scripts jQuery.

Le rendu peut donc prendre 1, 2 secs une fois la page affichee, et donc
afficher pendant ce laps de temps un layout assez disgracieux (le temps
que les scripts Javascript s'executent).

Est-il possible de dire au controle de n'afficher la page que quand
celle-ci a fini son rendu "cote" client ?

Merci.





Delf
Le #20190021
La_fille_qui_pleure_du_sang avait soumis l'idée :

Il es possible de tout mettre dans une dive avec un display none, et de
changer la propriété CSS en JS à la fin du script avec un display block



Tout simplement :) Merci.
Delf
Le #20190971
Delf a utilisé son clavier pour écrire :

La_fille_qui_pleure_du_sang avait soumis l'idée :

Il es possible de tout mettre dans une dive avec un display none, et de
changer la propriété CSS en JS à la fin du script avec un display block



Tout simplement :) Merci.



Erf, un des scripts jQuery plante si le container est masqué...
Donc solution non envisageable.

Je vais voir côté events ce que je trouve de bien.
Gloops
Le #20191501
Delf a écrit, le 20/09/2009 23:26 :
Erf, un des scripts jQuery plante si le container est masqué...
Donc solution non envisageable.




Et si c'est le WebBrowser, qui est non visible ?
La_fille_qui_pleure_du_sang
Le #20191621
"Delf" news:4ab69e08$0$4145$
Delf a utilisé son clavier pour écrire :

La_fille_qui_pleure_du_sang avait soumis l'idée :

Il es possible de tout mettre dans une dive avec un display none, et de
changer la propriété CSS en JS à la fin du script avec un display block



Tout simplement :) Merci.



Erf, un des scripts jQuery plante si le container est masqué...
Donc solution non envisageable.

Je vais voir côté events ce que je trouve de bien.





Sinon, plutot que de masquer par visible, tu met un padding top de 100000
pour que ça soit tout en bas, puis tu le remonte à la fin...
Gloops
Le #20206321
La_fille_qui_pleure_du_sang a écrit, le 21/09/2009 05:40 :
Sinon, plutot que de masquer par visible, tu met un padding top de
100000 pour que ça soit tout en bas, puis tu le remonte à la fin...



Ou si on veut encore d'autres idées, placer le contrôle en dehors du
champ visible, de par sa position. Bien entendu ça marche mieux si
l'utilisateur ne modifie pas la taille de la fenêtre (du moins du
webbrowser), ou que le contrôle à cacher soit repositionné en rép onse à
l'événement correspondant.

C'est vrai qu'on a déjà vu des concepteurs de composants penser à p lein
de possibilités pour les empêcher de fonctionner. Moui, en voyant ç a on
se demande si ce n'est pas du talent mal employé ...
Gloops
Le #20206311
La_fille_qui_pleure_du_sang a écrit, le 21/09/2009 05:40 :
Sinon, plutot que de masquer par visible, tu met un padding top de
100000 pour que ça soit tout en bas, puis tu le remonte à la fin...



Ah oui encore une idée : placer un autre contrôle par-dessus le
webbrowser, et laisser celui-ci afficher tout ce qu'il veut en dessous,
de toute manière on ne voit rien.

J'ai déjà vu une application détecter si un volet est caché et ta nner
l'utilisateur jusqu'à ce qu'il le laisse voir, c'était Eudora avec so n
panneau publicitaire. Pour l'exécution d'une requête SQL ça serait
vachement vicieux.
Delf
Le #20235381
Gloops vient de nous annoncer :

Ah oui encore une idée : placer un autre contrôle par-dessus le webbrowser,
et laisser celui-ci afficher tout ce qu'il veut en dessous, de toute manière
on ne voit rien.



Oui mais vu que la page a son rendu modifié via du Javascript, comment
le WebBrowser peut savoir si le rendu est fini ou pas ?

La meilleure solution me paraît être le déplacement du body à
l'extérieur pour le masquer le temps que le rendu soit fait.
Gloops
Le #20235971
Delf a écrit, le 27/09/2009 10:31 :
Oui mais vu que la page a son rendu modifié via du Javascript, commen t
le WebBrowser peut savoir si le rendu est fini ou pas ?

La meilleure solution me paraît être le déplacement du body à
l'extérieur pour le masquer le temps que le rendu soit fait.





ça paraît effectivement bien plus simple.
De mémoire il me semble que le WebBrowser déclenche un événement
lorsqu'il a fini son rendu, mais sous Javascript effectivement il y a
des chances que ce soit plus direct -dans le sens qu'il y a moins de
fonctions différentes à écrire dans différents coins, à synchro niser
correctement.

Enfin je dois avouer que la dernière fois que j'ai manipulé un
WebBrowser remonte à quelques mois.
Publicité
Poster une réponse
Anonyme