Bonjour,
Il y a t'il une méthode pour chargé un fichier dans un "TWebbrowser" sans que sa mouline ?
Exemple pour un fichier html de ~10Mo "TWebbrowser" : Temps de chargement : 28 Secondes , Mozilla Firefox : 5~8 Secondes.
J'ai testé plusieurs méthodes :
1) Chargement directe du code Html dans le "TWebbrowser".
2) Créer un fichier temporaire, puis le chargé dans le "TWebbrowser".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var HtmlDoc: Variant; {--} Webbrowser.Navigate('about:blank'); HtmlDoc := Webbrowser.Document; HtmlDoc.Write(Code html); HtmlDoc.Close; Webbrowser.Refresh;
3) Charger le code source de la page depuis un flux de données (stream)
Code : Sélectionner tout - Visualiser dans une fenêtre à part WebBrowser.Navigate('file:///Tmp.html');
https://delphi.developpez.com/faq/?p...on-application
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 procedure LoadHTML(AWebBrowser: TWebBrowser; const HTMLCode: string); var ss: TStringStream; sa: TStreamAdapter; begin AWebBrowser.Navigate('about:blank'); while AWebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(AWebBrowser.Document) then begin ss:= TStringStream.Create(HTMLCode); try sa:= TStreamAdapter.Create(ss); (AWebBrowser.Document as IPersistStreamInit).Load(sa); finally ss.Free; end; end; end;Les 3 méthodes sont identiques sur le temps de chargement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var Fichier: TStringList; begin Fichier:= TStringList.Create; Fichier.LoadFromFile('Fichier.html'); LoadHTML(WebBrowser, Fichier.Text); Fichier.Free; end;
Merci.
Partager