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

Delphi Discussion :

Webbrobwser et frame


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut Webbrobwser et frame
    Salut à tous!

    J'utilise un webbrowser dans une application pour naviguer sur un site web.

    Le problème, c'est que je ne peux pas charger directement les pages du site, car celles-ci attendent obligatoirement que le document chargé ait au moins 2 frames!

    Je me suis donc dit que j'allais charger dans mon WebBrowser un code html local, qui créer 2 frames, puis utiliser une fonction de navigation 'faite maison' qui me charge le lien dans une frame ciblée.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm2.FormCreate(Sender: TObject);
    var
      Flags, TargetFrameName, PostData, Headers: OleVariant;
      sHTML: String;
    begin
      // Create frames into webbrowser
      sHTML := '<html><frameset cols="1%,99%"><frame src="" name="menu"><frame src="" name="main"></frameset></html>';
     
      form2.WB.Navigate('about:' + sHTML, Flags, TargetFrameName, PostData, Headers);
     
    end;
    Le code ci-dessus me créer bien deux frames dans mon composant WebBrowser.

    Ensuite, je voulais faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm2.Button1Click(Sender: TObject);
    var
      Flags, TargetFrameName, PostData, Headers: OleVariant;
      sHTML: String;
      test: integer;
    begin
      TargetFrameName := 'main';
      Form2.WB.Navigate('c:\test.htm', Flags, TargetFrameName, PostData, Headers);
    end;
    Le problème c'est que l'appli me lance internet explorer au lieu de charger le fichier html dans la frame 'main' que j'ai créée dans l'événemment OnCreate

    J'ai fouillé sur le net, mais je n'ai pas trouvé un seul exemple qui utilise le OleVariant TargetFrameName, alors un peu d'aide serait la bienvenue!

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut
    Bon, j'ai un peu avancé dans mon travail...

    Premièrement, il semblerait que ma méthode ne fonctionne pas lorsque le code est généré directement dans le programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sHTML := '<frameset cols="1%,99%"><frame src="" name="menu"><frame src="" name="main"></frameset>';
      form2.WB.Navigate('about:' + sHTML, Flags, TargetFrameName, PostData, Headers);
    Par contre, si je charge un fichier .htm présent sur le disque, contenant exactement le m^me code html, ça fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form2.WB.Navigate('c:\test.html, Flags, Flags, Flags, Flags);
    A n'y rien comprendre...

    Bref, si je charge le page avec des données générées à la volée, les frames ne fonctionnent pas, si je charge un fichier, ça roule...

    Ouais, j'aimerais bien comprendre quand même!

Discussions similaires

  1. [flash] ouvrir une page dans une frame différente
    Par viena dans le forum Intégration
    Réponses: 6
    Dernier message: 01/08/2007, 15h54
  2. Utiliser les frames
    Par laury dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/05/2003, 10h14
  3. ouvrir 2 frames avec un lien
    Par Slash dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 07/03/2003, 09h44
  4. Linear Frame Buffer
    Par Neo82 dans le forum Assembleur
    Réponses: 10
    Dernier message: 01/03/2003, 21h11
  5. Frame Rate
    Par starsky dans le forum OpenGL
    Réponses: 6
    Dernier message: 31/08/2002, 00h40

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