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

WinDev Discussion :

Utiliser Gecko ou Webkit


Sujet :

WinDev

  1. #1
    Membre régulier
    Utiliser Gecko ou Webkit
    Bonjour, je cherche à utiliser Gecko ou Webkit comme Webbroser à la place de shell.explorer

    car je n'arrive pas à gérer certains évènements, notamment :

    - les alert() javascript

    - l'accès à de éléments qui ont été actualiser dynamiquement avec ajax

    - vider le cache de session

    Est-ce que quelqu'un sait faire ça ? Ou aurait une piste ?

  2. #2
    Expert éminent sénior
    Ah mon avis c'est juste impossible.

    Le composant HTML est un composant Windows, pas un afficheur Web universel.

    C'est comme si tu nous demandais si on pouvait utiliser Gecko avec Internet Explorer. Spapossible
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre régulier
    Mais je n'utilise pas le champs HTML mais composant ActiveX.

    Ensuite je le couple avec "shell.explorer" et je peux naviguer de page en page, accéder à mes objets DOM, etc...

    Mais il y a pas mal de limitations (voir mon premier message).

  4. #4
    Expert éminent sénior
    Ben dans ce cas je sais pas.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Membre régulier
    Salut Toxik

    - l'accès à de éléments qui ont été actualiser dynamiquement avec ajax
    moi je fais ce code pour lire des objets DOM mis dans un tag <DIV id=Elus"> via jscript :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    POUR i = 0 A n-1
    	 s = AX>>Document>>all("Elus")>>all(i)>>tagName
    	 SI s = "A" ALORS
    	 	s =  AX>>Document>>all("Elus")>>all(i)>>id
    	 	i = s
    	 	TableauAjoute(t,i)
    	 FIN
    FIN



    Ah oui ! le tag <A> contient les objets DOM

  6. #6
    Membre régulier
    Bonjour, merci pour ta réponse.

    Je n'arrive pas à adapter ta solution à mon problème.

    Je dois récupérer un élément table :

    <table name="tab3">......</table>

  7. #7
    Membre régulier
    Salut Toxik


    Testé: j'ai écrit dans le HTML
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <table ID="tab3">......</table>


    et dans le WL
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //AX est un bouton activeX
    t est un tableau de 0 par 0 chaîne
    s est une chaîne
     
    s = AX>>document>>all("tab3")>>outerHTML
    s = HTMLVersTexte(s)
    CSVVersTableau(s,t,TAB)


    Après, les tableaux

  8. #8
    Membre régulier
    Le soucis c'est que je ne peux pas modifier le code et que c'est un name="tab3" pas un id="tab3"

  9. #9
    Membre régulier
    Salut

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    s = AX>>document>>getElementsByName("tab3")>>item(0)>>outerhtml

  10. #10
    Membre régulier
    J'ai toujours le même problème au final.

    Mon élément <table name="tab3"> est affiché dynamiquement (ajax) il n'est donc pas dans le code source (pourtant je le vois notamment avec "inspecter l'élément sur Chrome).

    De ce fait lors que je fais :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    s = AX>>document>>getElementsByName("tab3")>>length


    s est à 0...

    Je ne voit pas comment résoudre ce problème.

  11. #11
    Membre régulier
    Sérieux, à ce niveaux là, je ne sais pas quoi répondre.

    tout ce que je sais, c'est que la meilleur chose à faire est de récupérer le texte de la balise <Table> par la propriété outerHTML qui donne un texte

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <table><tr>...</tr></table>


    ensuite, il faut se dépécher de le transformer en tableau WLangage pour le travailler.

    HTMLVersTexte a besoin des bornes <table> pour faire une chaine correcte.

    CSVVersTableau produit un tableau à 2 dimentions

    quant à la procédure ajax, elle ne peut qu'inscrire du texte dans les bornes HTML

    et la convention de travail HTML, c'est de travailler avec du texte délimité par des bornes, ou tags

    maintenant, pour l'algorithmique tu as besoin de quoi ?

  12. #12
    Membre régulier
    snif...

    Merci pour ton aide, hélas mon problème se situe juste en amont, lors que je dois récupérer cet élément crée dynamiquement.

    Et que l'activex shell.explorer n'arrive pas à trouver car il me semble qu'il parcours le code source initial et pas le code source actualisé.

  13. #13
    Membre régulier
    OK, je vais tester avant de te répondre. cette fois-ci, en créant le tableau à l'aide d'une procédure javascript.

    mais bon le tableau se lit une fois qu'il est fait par la procédure ajax.

    le code s = AX>>document>>getElementsByName("tab3")>>length n'est pas valide pour tester le contenu du tableau.tu es bel et bien obligé de le transformer en tableau WLangage pour en connaitre le contenu et la syntaxe s = AX>>document>>getElementsByName("tab3")>>item(0)>>outerhtml est celle qu'il te faut. je n'arrête pas de la tester.

    et tout ce que j'ai trouvé, c'est d'encadrer AX>>document>>getElementsByName("tab3")>>item(0)>>outerhtml d'un QUAND EXCEPTION

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QUAND EXCEPTION DANS
    	s = AX>>document>>getElementsByName("tab3")>>item(0)>>outerhtml
    FAIRE
    	s = ""
    FIN


    mais, moi, dans mon travail, il y a bien des objets dynamiquement créés, et j'attends qu'ils soient créés pour les consulter.

    Merci pour la pause cigarette ! :-)

  14. #14
    Membre régulier
    Hum, après avoir retourné le problème dans tous les sens ça a marché.

    Je pense que c'était du à une erreur de ma part :s

    Mauvais nom pour la recherche sûrement, ou alors recherche sur un mauvais tag.

    Bref, avec Windev et l'activex shell.explorer on peut parcourir les données créées dynamiquement finalement ^^

  15. #15
    Membre régulier

###raw>template_hook.ano_emploi###