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

Web & réseau Delphi Discussion :

ouvrir une page web dans un nouvel onglet


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut ouvrir une page web dans un nouvel onglet
    Bonjour tout le monde,
    Je dois intégrer dans une application une sorte de navigateur web avec système d'onglets. Bien sûr je crée dynamiquement des TTabSheet contenant des TWebBrowser. Je dispose d'une page html spéciale (toujours la première) crée elle aussi dynamiquement qui ne contient que des liens vers d'autres sites. Je voudrais que quand on clique sur un des liens de cette première page, la nouvelle page s'ouvre dans un nouvel onglet. A votre avis est-ce faisable ? Et si oui, auriez-vous une piste à me conseiller ?
    Merci par avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 49
    Par défaut
    Bonjour,

    Le TWebBrowser dispose d'un évènement OnBeforeNavigate2. Au moment où tu cliques sur un lien, tu peux transmettre l'URL à ton second TWebBrowser via cet event.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Merci Dunsany c'est impec. Maintenant tu saurais sur quelle procédure je dois agir pour empecher ma première de changer ? En fait pour l'instant j'arrive à charger ma nouvelle page dans un nouvel onglet mais la première page aussi change.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Je me permets de relancer le sujet (c'est mon ultime tentative après quoi promis j'arrête ) car je n'arrive toujours pas à ouvrir une nouvelle page web dans un onglet sans pour autant que ma page courante reste inchangée.
    Merci d'avance

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Dans un de mes projets, j'avais fait comme ça :
    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
    22
    23
    24
    25
    26
       //.Parcours de la liste.
       for i:=0 to(_ListePage.Count-1) do
       begin
          //.Si page à activer.
          if(_ListePage[i] as TWebBrowser).Tag = nNumPage then
          begin
             (_ListePage[i] as TWebBrowser).OnBeforeNavigate2 := _BeforeNavigate2;
             (_ListePage[i] as TWebBrowser).OnDownloadBegin := _DownloadBegin;
             (_ListePage[i] as TWebBrowser).OnDownloadComplete := _DownloadComplete;
             (_ListePage[i] as TWebBrowser).OnProgressChange := _ProgressChange;
             (_ListePage[i] as TWebBrowser).OnTitleChange := _TitleChange;
             (_ListePage[i] as TWebBrowser).Visible := True;
             (_ListePage[i] as TWebBrowser).BringToFront;
             _nPageCourante := nNumPage;
          end
          else      //.Autre page.
          begin
             (_ListePage[i] as TWebBrowser).OnBeforeNavigate2 := nil;
             (_ListePage[i] as TWebBrowser).OnDownloadBegin := nil;
             (_ListePage[i] as TWebBrowser).OnDownloadComplete := nil;
             (_ListePage[i] as TWebBrowser).OnProgressChange := nil;
             (_ListePage[i] as TWebBrowser).OnTitleChange := nil;
             (_ListePage[i] as TWebBrowser).Visible := False;
             (_ListePage[i] as TWebBrowser).SendToBack;
          end;
       end;
    J'avais désactivé les évènements des autres WebBrowser.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Merci Lung, j'essayerai ça ce soir et je te dis.

    Par contre tu peux juste me dire où est-ce qu'il faut que je mette ta procédure ?

    ++

Discussions similaires

  1. Faire ouvrir une page web dans un nouvel onglet en arrière plan
    Par leberger31 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/02/2015, 12h36
  2. Ouvrir une page web dans une nouvelle fenêtre du browser
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/03/2009, 23h44
  3. ouvrir une page web dans une fenetre java
    Par ambitious dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 14/11/2007, 15h33
  4. Ouvrir une page web dans editeur WYSIWYG sous IE/Firefox
    Par dptech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 02/10/2007, 21h43
  5. ouvrir une page web dans une autre fenetre
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 11h32

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