IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Ouverture d'un fichier html TWebbrowser


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 260
    Points : 171
    Points
    171
    Par défaut Ouverture d'un fichier html TWebbrowser
    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".
    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;
    2) Créer un fichier temporaire, puis le chargé dans le "TWebbrowser".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser.Navigate('file:///Tmp.html');
    3) Charger le code source de la page depuis un flux de données (stream)
    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;
    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;
    Les 3 méthodes sont identiques sur le temps de chargement.

    Merci.
    Vous ne pouvez pas faire confiance à un code que vous n'avez pas totalement rédigé vous-même.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Tu devrais comparer au temps d'ouverture sous IE plutôt que Firefox car TWebbrowser s'appuie sur IE...

    Tu peux modifier la version d'Internet Explorer à utiliser (par défaut, TWebbrowser utilise le mode émulation IE 7). Pour modifier le mode d'émulation, tu peux regarder la discussion suivante :https://www.developpez.net/forums/d1...nt-webbrowser/

    J'avais mis un bout de code qui permet de modifier le mode d'émulation d'IE pour TWebbrowser (de IE 7 à IE 11).
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre habitué Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 260
    Points : 171
    Points
    171
    Par défaut
    Tu devrais comparer au temps d'ouverture sous IE plutôt que Firefox car TWebbrowser s'appuie sur IE...
    IE : 6 Secondes.

    Taille du fichier html : 10,7Mo.

    J'ai modifier la version d'Internet Explorer en IE 11, ça n'a rien changé.
    Vous ne pouvez pas faire confiance à un code que vous n'avez pas totalement rédigé vous-même.

  4. #4
    Membre habitué Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 260
    Points : 171
    Points
    171
    Par défaut résolu
    J'ai modifier la version d'Internet Explorer en IE 11, ça n'a rien changé.
    Effectivement ça change la donne.
    Je n'avais pas pris en compte le redémarrage du système

    Merci.

    Vous ne pouvez pas faire confiance à un code que vous n'avez pas totalement rédigé vous-même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture d'un fichier HTML
    Par manu7607 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/08/2009, 21h59
  2. Probleme d'ouverture de fichier html
    Par uriotcea dans le forum Windows
    Réponses: 4
    Dernier message: 30/03/2009, 12h17
  3. ouverture d'un fichier HTML
    Par philguio dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/05/2007, 20h48
  4. ouverture fichier html et pdf
    Par nicoooooo dans le forum Web
    Réponses: 4
    Dernier message: 15/06/2006, 14h54
  5. Réponses: 5
    Dernier message: 14/01/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo