|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonsoir !
Voici un "Pidget" (un widget en Python+HTA) Il faut enregistrer le code-source dans un fichier .HTA (par exemple : meteo.hta) Double-clic sur le fichier, pour le lancer (ou taper son nom + [Entrée], en invite de commande) Alt-F4 pour fermer la fenêtre. Ce truc devrait plaire à Salvatore. Il montre comment remplacer les widgets et autres gadgets, avec Python, sans installer de Side-bar, de konfabulator, et autres bouffeurs de mémoire. Rappel : les HTA (HTml Application) ne fonctionnent que sous Windows. Le fichier ne contient que du Python et du HTML. @-salutations Michel Claveau <hta:application windowstate="normal" caption="no" singleinstance="yes" /> <html> <head> <script language=Python> def Init(): self.resizeTo(360,360) self.moveTo(110,10) def meteo(num): obj = document.getElementById('METEODIV') st = '<a href="http://ponx.org/ponx/guie.htm"><img src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" alt="prevision meteo" style="border:none"> </a>' obj.innerHTML = st </script> </head> <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> <FORM> <input ID="bt1" name="bt1" type="button" style="width:100px" VALUE="Aujourd'hui" onmousedown="meteo('1')" /> <input ID="bt2" name="bt2" type="button" style="width:100px" VALUE="Demain" onmousedown="meteo('2')" /> <input ID="bt3" name="bt3" type="button" style="width:100px" VALUE="Après-Demain" onmousedown="meteo('3')" /><br> <blockquote> <DIV id="METEODIV">MMEETTEEOO</DIV> </blockquote> </FORM> <script language=Python> meteo('1') </script> </body> </html> |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
<zip> IE7 me fait un "erreur sur la page" et il ne se passe rien (j'ai bien les boutons et la division... mais ça coince. A+ Laurent. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Salut !
N'y aurait-il pas un problème d'indentation ? Les "def" doivent commencer en première colonne, ainsi que la ligne : meteo('1') (vers la fin) Autre possibilité : est-ce que ton système accepte qu'un .HTA aille ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs domaines dans la même page, etc.) J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez qui ça fonctionne également. Éventuellement, j'ai une version Javascript, qui fait à peu près la même chose. Cela pourrait aider à trouve si ça vient de Python (plus exactement de "Python-Active-Scripting") ou d'autre chose. Si tu veux, je peux te l'envoyer par e-mail... @+ MCI |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Re !
Je viens de vérifier un truc : - la version Javascript occupe 13 Mo de RAM - la version Python occupe 23 Mo C'est le coût du chargement de l'interpréteur... @+ MCI |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Salut ! > > > N'y aurait-il pas un problème d'indentation ? Les "def" doivent > commencer en première colonne, ainsi que la ligne : meteo('1') (vers > la fin) J'avais déjà corrigé les indentations des defs (mais j'avais oublié celui de l'appel à meteo(). > Autre possibilité : est-ce que ton système accepte qu'un .HTA aille > ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, > d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs > domaines dans la même page, etc.) IE7 m'affiche l'alerte sur le script, et je l'autorise. Pas de pare-feu trop bloquant (j'ai essayé de charger les URLs indiquées dans le script, ça tourne, j'ai changé le code HTML en un simple <p>xxx</p>, même problème)... Note: Le "erreur sur la page" s'affiche en bas, dans la zone de status, lorsque je clique sur les boutons. > J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez > qui ça fonctionne également. Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages web hta... y'a quelque chose à regarder de ce côté? Au cas où, j'ai réinstallé pywin32 (via easy_install - donc a-priori la dernière version)... mais ça tourne pas mieux. |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Re !
> Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages > web hta... y'a quelque chose à regarder de ce côté? Maintenant que tu le dis, oui. Mais, je ne me rappelle plus où c'est... Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une fois) ActivePython. Et il me semble que l'inscription de Python en tant que langage Active-Scripting est inclut dans cette install. Et aussi, regarde si, dans le répertoire C:\Python25\Lib\site-packages\win32comext\axscript\client il ne suffirait pas de lancer le script : pyscript.py Sinon, je chercherai autre chose. Merci des tests, et @+ Michel Claveau |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Re ! > > >> Peut-être un problème d'enregistrement de mon Python en tant que >> langage de script pour les pages web hta... y'a quelque chose à >> regarder de ce côté? > > Maintenant que tu le dis, oui. > Mais, je ne me rappelle plus où c'est... > > Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une > fois) ActivePython. Et il me semble que l'inscription de Python en tant > que langage Active-Scripting est inclut dans cette install. > > > Et aussi, regarde si, dans le répertoire > C:\Python25\Lib\site-packages\win32comext\axscript\client > il ne suffirait pas de lancer le script : pyscript.py C:\Tools\Python25\Lib\site-packages\win32comext\axscript\client>python pyscript py Registered: Python Done. > Sinon, je chercherai autre chose. > Merci des tests, et @+ Ah, j'ai trouvé plus de détails sur l'indication de l'erreur - faut double-cliquer sur le panneau jaune /!\... sauf que ce @¤*# ouvre un dialogue avec un champs texte pour les détails et ne permet pas de copier le contenu de ce champs... Ligne: 26 Caractère: 1 Erreur: Objet attendu Code: 0 URL: file:///url vers le document.html Document qui contient: <hta:application windowstate="normal" caption="no" singleinstance="yes" /> <html> <head> <script language=Python> def Init(): self.resizeTo(360,360) self.moveTo(110,10) def meteo(num): obj = document.getElementById('METEODIV') st = '<a href="http://ponx.org/ponx/guie.htm"><img src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" alt="prevision meteo" style="border:none"> </a>' obj.innerHTML = st </script> </head> <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> <FORM> <input ID="bt1" name="bt1" type="button" style="width:100px" VALUE="Aujourd'hui" onmousedown="meteo('1')" /> <input ID="bt2" name="bt2" type="button" style="width:100px" VALUE="Demain" onmousedown="meteo('2')" /> <input ID="bt3" name="bt3" type="button" style="width:100px" VALUE="Après-Demain" onmousedown="meteo('3')" /><br> <blockquote> <DIV id="METEODIV">MMEETTEEOO</DIV> </blockquote> </FORM> <script language=Python> meteo('1') </script> </body> </html> |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Re !
J'ai, brusquement, un doute ; basé sur le fait que tu parles d'erreur fournie par IE As-tu bien enregistré le fichier avec l'extension ".hta" (par exemple "meteo.hta") ? Normalement, pour traiter les HTA, Windows utilise mshta.exe et non iexplore.exe ; avec une gestion des droits légèrement différente. @+ MCI |
|
![]() |
| Outils de la discussion | |
|
|