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 :

Interagir avec un clic de souris sur une page HTML


Sujet :

Moteurs Web

  1. #1
    Membre à l'essai
    Interagir avec un clic de souris sur une page HTML
    Salut à tous,
    j'essaie de me mettre à Qt 5.7 / QtQuick 2.3 et j'ai beaucoup de mal à comprendre comment interagir entre un WebEngineView et la page html qu'il a chargé.

    En gros j'ai un WebEngineView qui charge une page html qui contient deux inputs: un de type "text" et l'autre de type "password".
    Quand je clic à la souris uniquement dans un de ces deux input je voudrais afficher un clavier qml de ma conception pour remplir ces inputs.

    Comment dois je m'y prendre ?

  2. #2
    Membre à l'essai
    apparement il faut utiliser runJavascript, mais je ne vois pas comment faire le lien entre le script et mon QML

  3. #3
    Membre à l'essai
    J'ai essayé ça:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var js="function testclic(){var index, inputs; inputs = document.getElementsByTagName('INPUT');\
                                                        for (index = 0; index < inputs.length; ++index)\
                                                        {\
                                                            inputs[index].onfocus = function()\
                                                            {\
                                                                return(33);\
                                                            }\
                                                        } return(-1);} testclic()"
     
                web_view.runJavaScript(js,function(result){console.log("res "+result);})


    Je ne rentre jamais dans le onfocus...des avis ?

  4. #4
    Membre à l'essai
    Les events onclic et onsubmit sur les boutons n'ont pas l'air de fonctionner non plus

    J'arrive à lire/écrire des éléments mais j'ai l'impression que les events ne sont pas gérés correctement

  5. #5
    Membre à l'essai
    Je viens de découvrir un truc que je ne comprends pas non plus mais qui fait avancer mon problème.
    J'ai un timer qui lance un script tout les 200ms.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    var js="function testclicLogin(){var res=0;var bouton_login=document.getElementById('shop-login-button');bouton_login.onclick = function(){res=1;}; return(res);}testclicLogin()"
    web_view.runJavaScript(js,function(result){console.log("clic:" +result);})


    Ce code ci-dessus me retourne toujours 0 quel que soit l'endroit où je clic dans ma page html !

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    var js="function testclicLogin(){var bouton_login=document.getElementById('shop-login-button');bouton_login.onclick = function(){res=1;}; return(res);}testclicLogin()"
    web_view.runJavaScript(js,function(result){console.log("clic:" +result);})

    Celui-ci me retourne :
    js: Uncaught ReferenceError: res is not defined
    qml: clic:undefined

    mais quand je clique sur mon bouton j'ai bien 1 !

    Une explication ? Où est mon erreur ?

###raw>template_hook.ano_emploi###