Forum Programmation.python Ouvrir un lien dans le navigateur par défaut

Posté par  .
Étiquettes : aucune
0
17
juin
2006
Bonjour à vous!
Je suis en train d'écrire un petit programme utilisant wxPython et j'ai une htmlWindow. Mais je voudrait ouvrir les lien se trouvant dans cette htmlWindow dans le navigateur par défaut de l'utilisateur. Seulement je ne connais pas les handler d'évènement d'un objet htmlWindow.

Merci de m'éclairer sur ce point. Et puis tant que j'y suis, comment faire pour ouvrir un lien dans le navigateur par défaut?

Merci d'avance, amicalement
  • # webbrowser

    Posté par  (site web personnel) . Évalué à 1.

    y'a un module en python qui s'appelle webbrowser. Ça peut toujours aider.
    il prend en compte la variable système BROWSER que tu peux définir au nom de ton navigateur.

    sinon, comment savoir quel est le navigateur par défaut ? déjà est-ce que ça à un sens sous linux ? sous gnome oui sous kde oui ... mais comment je sais pas

    avec dbus ?
  • # interet ?

    Posté par  . Évalué à 1.

    y a-t-il un interet à coder l'appel au navigateur ?
    à part pour mettre le lien derriere un bouton...

    car sinon, on affiche le lien dans une page de type html, ce qui semble etre ton cas, et ensuite tu laisse le systeme utilisé se debrouiller.

    enfin c'est mon avis à 2cts
    • [^] # Re: interet ?

      Posté par  . Évalué à 1.

      L'interêt que j'y trouve (étant un gros fénéant) c'est que je n'ai pas besoin d'alourdir mon code en réécrivant les fonctions basiques d'un navigateur. En fait, j'ai déjà une fenètre html mais jevoudrai que les liens contenus dans cette dernière soient ouvert par un navigateur.
      • [^] # Re: interet ?

        Posté par  . Évalué à 1.

        c'est bien ce que je dis, mais tant qu'à etre faineant autant l'etre pour de bon.

        en principe si ta fenetre htmlWindow contient un lien il va etre rendu cliquable (definition de base d'un lien html)

        si tu ne touches à rien ton systeme/gestionnaire de fenetre devrait lancer le navigateur sans avoir à rajouter de code.

        sauf dans le cas que je citais plus tot ou tes liens sont accessibles "derriere" un bouton où là tu aura besoin de coder l'action du bouton pour ouvrir le navigateur de l'utilisateur.
        • [^] # Re: interet ?

          Posté par  (site web personnel) . Évalué à 1.

          euh bin pour moi, les choses ne marchent pas comme par magie. faut coder un minimum les choses, non ?
          et ça consiste ici à passer le lien au navigateur quand le lien est cliqué.
          Encore faut-il savoir quand le lien est cliqué. ce qui était sa question. là faut lire la doc.

          c'est ce que j'ai fait pour http://home.tele2.fr/solsTiCe/freshmeat.html
          class Konqui:
          def open(self,url,auto=0,autoraise=1):
          popen2('/home/stef/bin/navigateur %s' % url)

          et plus loin

          def giveToBrowser(self,url):
          '''feed the browser with url'''
          # WARNING : url is the url clicked on and not self.url which
          # is the query's url
          webbrowser.register('mykonqui',Konqui)
          try:
          webbrowser.get('mykonqui').open(url)
          # webbrowser.get('kfm').open(url)
          except NoneType:
          # you could use the env. var. BROWSER to define the browser
          # to be used
          webbrowser.open(url)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.