Seite 1 von 1

WebGadget - warten bis seite geladen ist, dann GetGadgetText

Verfasst: 17.09.2005 15:32
von OptimusPrime
Hallo,
Ich öffne mit dem Webgadget eine Seite.
Diese enthält ein java-Script, dass die URL ändert,
d.h. diese ändert sich noch einmal.

Wenn ich mit GetGadgetText die URL auslese, erhalte ich immer
die URL der Startseite, da die Funktion zu schnell ausgeführt wird.

Wie kann ich den Prozess des ladens der Seite abwarten,
bis die 2. Seite (weitergeleitete) vollständig geladen ist, um dann
mit GetGadgetText die URL auszulesen.

Ich habe bei den Events() bisher nichts gefunden, was mir weiterhelfen könnte, ein Delay() unterbricht das ganze Programm.

Ich habe versucht mit einer WHILE - WEND Schleife jedesmal die URL
auszulesen und dann fortzufahren, sobald diese bestimmte Zeichen enthält
(da sich die aufgerufene Seite immer von der Startseite unterscheidet(URL))

Leier blockiert das Programm dann und die Seite wird gar nicht geladen :(

Mfg

Code: Alles auswählen

x=0
Repeat
titel$=GetGadgetText(#Web_Extern)
position=FindString(titel$,".php",1)
If position > 0 
x=1
EndIf

Until x = 1
So wollte ich die Änderung der URL abwarten, allerdings bleibt das programm hier hängen...
das ".php" kommt in der URL aber tatsächlich vor ^^.

Verfasst: 17.09.2005 15:43
von OptimusPrime
IDEE ???

Das Laden der Webseite wird nicht zu Ende ausgeführt, da die Schleife die Rechenkapazität auslastet...

Ich probiere einen Thread zu schreiben, der die Seite Lädt und einen, der die Änderung der URL verfolgt ^^

Ich poste das Ergebnis nachher, erstmal rauchen udn essen

mfg :allright:

Verfasst: 17.09.2005 15:59
von OptimusPrime
Ergebins -> Negativ :(
Die seite wird nicht geladen... warum auch immer...

Code: Alles auswählen


Procedure Wait_Web(wert)
SetGadgetText(#Web_Extern, "...\bsp.html")
EndProcedure


SetGadgetState(#Progressbar,10)
thid = CreateThread(@Wait_Web(), 48)
ThreadPriority(thid, 22)
SetGadgetState(#Progressbar,40)
   
x=0
Repeat
titel$=GetGadgetText(#Web_Extern)
position=FindString(titel$,".php",1)
If position > 0 
x=1
EndIf
Until x = 1

KillThread(thid)

MessageRequester("URL",titel$)
[/code]

Verfasst: 17.09.2005 16:11
von OptimusPrime
Ich hoffe, man verzeiht mir an dieser Stelle den Monolog ^^
:lol:

Es funktioniert also nun :


Code: Alles auswählen


Procedure Wait_Web(wert)
   x=0
   Repeat
     titel$=GetGadgetText(#Web_Extern)
     position=FindString(titel$,"php",1)
     If position > 3 
       x=1
     EndIf
  Until x = 1
  MessageRequester("dum",titel$)
EndProcedure

     SetGadgetState(#Progressbar,10)
     SetGadgetText(#Web_Extern, "...bsp.html")
     
     thid = CreateThread(@Wait_Web(), 48)
     ThreadPriority(thid, 14)


Entweder geht es nur sorum, oder es lag an der erhöhug der variablen "position" von 0 auf 3 ...
Mir isses egal :twisted:

EDIT: war mir doch nicht egal... : der Thread ist an dieser Stele notwendig.

Vielleich hat der ein oder andee mal was davon...
Mfg

Verfasst: 17.09.2005 16:11
von Kiffi
führst Du Selbstgespräche?

Es gibt eine Edit-Funktion in diesem Board!