Page 1 sur 1

Javascript et WebGadget

Publié : jeu. 16/oct./2008 21:31
par Cls
Salut à tous,

j'ai un souci avec le webgadget et le plugin IE. Un sujet (sans réponse) est similaire sur le forum anglais (à voir ici : http://www.purebasic.fr/english/viewtop ... ript+error).

J'ai cette erreur JS sur un de mes projets :

Image

Quelqu'un a - t - il déjà rencontré ce type de souci ?
Est - il possible de virer ce popup (car la fonctionnalité en question fonction très bien :/) ?

Merci d'avance.
Cls

Re: Javascript et WebGadget

Publié : jeu. 16/oct./2008 23:23
par Backup
Cls a écrit : Est - il possible de virer ce popup (car la fonctionnalité en question fonction très bien :/) ?
j'ai la bulle de te faire un exemple, mais je supose qu'en utilisant l'api "FindWindow"

Code : Tout sélectionner

hWinCalc = FindWindow_ (#Null, "Erreur de script de Internet Explorer" )
pour trouver le handle de ta fenetre d'erreur

et en lui intimant l'ordre de se fermer avec un truc du genre

SendMessage_(hWinCalc, #WM_SHOWWINDOW,wParam , lParam)

pas testé !!! :)

ça devrai marcher puisque cette exemple fait rien que pour toi, :) fonctionne



; ceci ferme la fenetre au bout de 5 secondes
#win =1
openwindow ( #win ,10,10,800,600, "hello" , #PB_Window_SystemMenu ) ; on cree une fenetre avec le titre "Hello"

delay (5000) ; on attends 5 secondes

hWinCalc = FindWindow_ ( #Null , "hello" ) ; on recherche si une fenetre ayant pour titre "hello" .....existe oui ??
SendMessage_ (hWinCalc, #WM_SHOWWINDOW ,wParam , lParam) ; on envoire a cette fenetre l'ordre de se fermer !!

Publié : ven. 17/oct./2008 10:55
par Cls
Merci Dobro, je vais tester ça ;)

Par contre, en ce basant sur ce principe il est fort probable que le popup s'ouvre brièvement.. Mais bon on va pas chipoter hein ! ;)

Je me demande s'il n'y a pas moyen d'ajouter un callback sur le moteur JS du plugin IE utilisé dans le WegGadget... [ Pas le NavigationCallback (j'ai déjà testé ! Il porte bien son nom : il n'agit que sur la navigation.) ]

Publié : mar. 28/oct./2008 21:15
par Cls
Bonsoir à tous,

J'ai une nouvelle question concernant le Javascript et le WabGadget.

J'aimerais exécuter du JavaScript après le chargement d'une page, tout comme le fait GreaseMonkey sous FireFox pour ceux qui connaissent. J'utilise le plugin IE (je ne peux pas utiliser le plugin FireFox) ainsi que l'excellent code de Freak (voir ici : http://www.purebasic.fr/english/viewtop ... javascript).

Je place le callback suivant :

Code : Tout sélectionner

Procedure NavigationCallback(Gadget, Url.s) 
  
  Global SCRIPT

  ExecuteJavaScript(Gadget, "eval", SCRIPT, ";")
  
  ProcedureReturn #True
EndProcedure
SCRIPT contient mon code JS entier.

Le souci est qu'il ne se passe rien :( Et l'appli est très lente lorsque je change de page (il faut dire qu'il y a 11000 lignes de JS :/).

Avez - vous des idées ?

Publié : jeu. 30/oct./2008 20:50
par nico
Un autre moyen:

Code : Tout sélectionner

Webbrowser.IWebBrowser2 = GetWindowLong_(GadgetID(#Web1), #GWL_USERDATA)
; Permet de supprimer les messages d'erreurs de scripts
Webbrowser\put_Silent(#True)

Publié : jeu. 30/oct./2008 21:18
par Cls
Merci nico, intéressant comme code ça !

N'y aurait - il pas moyen d'utiliser un truc dans le même esprit pour répondre à ma seconde question (éxécution de JS complexe après le chargement d'une page) ?