Salut à tous.

J'utilise un Webview dans un QML pour afficher une page web.

Je dois faire apparaitre un clavier virtuel quand on clique sur un champ texte d'une page web, pour cela j'utilise l'event onfocus.

Cela fonctionne bien sauf pour certaines pages web, comme je n'y connais rien en html je ne vois pas d'où viens le problème.

Mon code fonctionne très bien ici : http://www.google.com par contre ne fonctionne pas ici : http://www.kigard.fr

Si vous avez une petite idée, merci de votre aide.

Voici le code de la Webview :

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
 
WebView {
            id: web_view
            transformOrigin: Item.TopLeft
            url: "http://www.google.com"
            //url: "http://www.kigard.fr"                        
            x: 0
            y: 0
            width: 800
            height: 600
            preferredHeight: height
            preferredWidth: width
            settings.autoLoadImages: true
            settings.javaEnabled: true
            settings.pluginsEnabled: true
            settings.developerExtrasEnabled: true
            smooth: false            
            contentsScale: 1                                 
 
            onLoadFinished{
                console.log("WebView onLoadFinished")
                web_view.evaluateJavaScript("var inputs = document.getElementsByTagName('INPUT');var index;for(index=0; index < inputs.length; index++){inputs[index].onfocus = function() {var active=document.activeElement;if(active.type=='text'){window.webbridge.showKeyboard(active.value)}}}")
            }            
 
            javaScriptWindowObjects: QtObject {
                WebView.windowObjectName: "webbridge"
 
                function showKeyboard(v)
                {
                    console.log("valeur "+v)
                }
            }
        }