Avec le nouveau champ HTML de la version 26, votre projet aura probablement besoin d'interagir avec la page Web Affichée. Un des moyens d'interaction est l'exécution de code JavaScript dans le contexte de la page et d'en récupérer le résultat.
La fonction WLangage à utiliser est ExecuteJS(). On fournit à cette fonction, le code JS à exécuter et une procédure WLangage qui sera rappelée dans le code JS se sera exécuté. C'est ce que l'on appelle une procédure callback.
Voici un exemple de code qui demande à la page affichée quel est le niveau de zoom effectué dans la page (le CTRL+Roulette). Dans la procédure callback, on compare ce ratio d'affichage des pixels à celui en cours dans Windows pour déterminer le pourcentage de zoom.
nFacteurZoom est un entier
sCodeJS est une chaîne = [ var Ratio = ""; Ratio += window.devicePixelRatio; ]
ExecuteJS(HTM_AffichePAge,sCodeJS,DeviceRatioPixel)
PROCEDURE INTERNE DeviceRatioPixel(bSuccès est un booléen, sValeurRatio est une chaîne)
nRatioEcran est un réel = FacteurGrandePolice() nFacteurZoom = Arrondi((Val(sValeurRatio)/nRatioEcran),2)*100 Info("Le facteur de zoom dans le champ HTML est : "+nFacteurZoom) FIN
Attention, il ne faut pas utiliser l'instruction « return » dans la procédure JavaScript. La fonction ExecuteJS transmet automatiquement le dernier item manipulé dans la procédure. Dans l'exemple ci-dessus c'est la variable chaine Ratio qui sera transmise. La donnée sera toujours transmise sous un format chaîne. A vous de la convertir dans la procédure dans le format voulu. |