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

Moteurs Web Discussion :

Comment lire les fichiers JS d'une page c?


Sujet :

Moteurs Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de GoldenEyes
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Par défaut Comment lire les fichiers JS d'une page c?
    Salut,

    L’utilisation de QtWebKit nous permet de charger toute la page web (avec des CSS ou Javascript inclus ...)
    voila mon code qui permet de charger une page web :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    #include <webkit.h>
     
     Webkit::Webkit(const char * l) 
    {
      m_link=l;
    }
     
    void Webkit::run(QApplication * app)
    {
      std::cout << m_link << std::endl; 
      QUrl url(m_link);
      QObject::connect(&v, SIGNAL(loadProgress(int)), this, SLOT(loadProgress(int)));  
      QObject::connect(&v, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool)));
      QObject::connect(&v, SIGNAL(loadFinished(bool)), this, SLOT(applyscript()));
      v.load(url);
      v.show(); // v est de type WebView
      app -> exec ();  
    }
     
    void Webkit::load(QString s)
    {
      v.page()->mainFrame()->load(s);
    }
     
    void Webkit::loadProgress(int progress)
     {
       printf("Loading page: %d%%   \r",progress);
       fflush(stdout);
     }
     
    void Webkit::loadFinished(bool ok) {
     
      if (!ok){
              printf("failed laodin page ");
                fflush(stdout);
             }
     
     QString frameText =v.page()->mainFrame()->toHtml();       
     
    }
    Je veux savoir Comment je peux accéder aux fichiers (.css et .js) pour récupérer leurs codes avec Qt4 ??

    Quelles sont les classes qui me permettent de faire ça. ??

    Merci pour tout aide.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    c'est info devrait être quelque part dans QWebFrame... J'ai pas trouvé.

    Sinon tu pourrais chercher l'url des .css et .js et les télécharger avec qnetworkaccessmanager
    http://qt.developpez.com/doc/latest/...ssmanager.html

  3. #3
    Membre confirmé Avatar de GoldenEyes
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    c'est info devrait être quelque part dans QWebFrame... J'ai pas trouvé.

    Sinon tu pourrais chercher l'url des .css et .js et les télécharger avec qnetworkaccessmanager
    http://qt.developpez.com/doc/latest/...ssmanager.html
    merci pour la reponse ,
    j'ai utilisé NetworkAccessManager()et j'ai eu le contenu d'un fichier (.css ou .js ) , voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void Dom::run(QApplication * app)
    {
     
     QUrl urll("http://www.tf1.fr/css/0,,1,00.css?v=5dc8832d5ed79940f8864ee145296c8f");//c'est l'url de fichier .css
     page.mainFrame()->load(urll);
     page.networkAccessManager()->get(QNetworkRequest(urll));
     QNetworkReply *reply =  page.networkAccessManager()->get(QNetworkRequest(urll));
     app->connect(reply, SIGNAL(finished()), SLOT(quit()));
     app -> exec ();  
     qDebug() << "page css : "<<reply->readAll();
    }
    mais je veux avoir le resultat sans utiliser app->connect(reply, SIGNAL(finished()), SLOT(quit())) ??
    par ce que je veux mettre ce code dans une fonction qui ne contient pas (QApplication * app) comme paramettre,je ne sais pas
    si c'est possible ? vous pouvez m'aider?

    merci pour tout aide ,

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par GoldenEyes Voir le message
    par ce que je veux mettre ce code dans une fonction qui ne contient pas (QApplication * app) comme paramettre,je ne sais pas
    si c'est possible ? vous pouvez m'aider?

    merci pour tout aide ,
    ??? a quoi te sert app ici????

  5. #5
    Membre confirmé Avatar de GoldenEyes
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    ??? a quoi te sert app ici????
    salut ,
    si je n'utilse pas app comme ce ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     connect(reply, SIGNAL(finished()),this, SLOT(quit()));
    il n'affiche rien,
    mais si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(reply, SIGNAL(finished()),app, SLOT(quit()));
    j'aurai le resultat , je veux enlever app mais comment je doit le faire ??

    merci pour tout aide

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    si Dom hérite d'un class QT normalement rien. Il pssède déja cette fonction.
    SInon connect est une fonction static
    http://qt.developpez.com/doc/latest/...t.html#connect

    donc tu peut faire
    QObject::connect(....)

Discussions similaires

  1. Comment lire les attributs "hide" d'une table en VBA
    Par fredlefou dans le forum Access
    Réponses: 1
    Dernier message: 28/01/2008, 01h30
  2. Lire les fichiers copiés d'une base de données
    Par zaac01 dans le forum Installation
    Réponses: 5
    Dernier message: 18/11/2007, 16h30
  3. Comment lire les fichiers dont l'extension est .tex ?
    Par condor_01 dans le forum Ubuntu
    Réponses: 3
    Dernier message: 19/10/2007, 16h24
  4. Réponses: 3
    Dernier message: 12/07/2007, 18h10
  5. Réponses: 3
    Dernier message: 19/02/2007, 23h01

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