html / Java Script ?
html / Java Script ?
Hallo
Gibt es eine Möglichkeit den in einer HTML Seite enthalten java Script code auszuführen um an die Ergebnisse zu kommen. Man kann ja die Seite mit > ReceiveHTTPFile < wunderbar auslesen und auswerten. Ist jedoch java enthalten wird nicht das Ergebnis angezeigt sondern nur der Java Code.
Über > webgadget < wird das Ergebnis ja auch auf dem Bildschirm angezeigt, nur wie kommt man da an die Daten???
Weiß jemand Rat ??
Mfg Amgia
Gibt es eine Möglichkeit den in einer HTML Seite enthalten java Script code auszuführen um an die Ergebnisse zu kommen. Man kann ja die Seite mit > ReceiveHTTPFile < wunderbar auslesen und auswerten. Ist jedoch java enthalten wird nicht das Ergebnis angezeigt sondern nur der Java Code.
Über > webgadget < wird das Ergebnis ja auch auf dem Bildschirm angezeigt, nur wie kommt man da an die Daten???
Weiß jemand Rat ??
Mfg Amgia
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
http://www.Sundisp.de
Re: html / Java Script ?
generell kannst Du JavaScript im WebGadget ausführen lassen:amiga123 hat geschrieben:Weiß jemand Rat ??
http://www.purebasic.fr/english/viewtop ... 12&t=36394
kniffelig wird es wohl, die entsprechenden Übergabeparameter zusammenzupfriemeln.
Was willst Du denn genau machen?
Grüße ... Kiffi
P.S.: Java != JavaScript
a²+b²=mc²
Re: html / Java Script ?
Also es geht mir darum die Daten die auf der Webseite angezeigt werden auszuwerten.
Wenn du z.B. diesen http://www.solarlog-home4.de/jirka/banner.html aufrufst bekommst du einen Banner mit verschieden Daten angezeigt. Jetzt kann ich mir zwar den Quellcode der Seite anschauen und einige Daten auswerten, die die mich allerdings interessieren werden durch JavaScript angezeigt und nur der Code ist zu sehen.
Beispielsweise ist Aktuell und Heute nicht als Zahlenwert vorhanden sondern nur als Javascript. Ich würde halt gerne diese Daten bekommen, wie auch immer.
Mit > webgadget < bekomme ich die zwar auf den Bildschirm komme aber immer noch nicht an die Zahlen ran.
Gruß Amiga123
Wenn du z.B. diesen http://www.solarlog-home4.de/jirka/banner.html aufrufst bekommst du einen Banner mit verschieden Daten angezeigt. Jetzt kann ich mir zwar den Quellcode der Seite anschauen und einige Daten auswerten, die die mich allerdings interessieren werden durch JavaScript angezeigt und nur der Code ist zu sehen.
Beispielsweise ist Aktuell und Heute nicht als Zahlenwert vorhanden sondern nur als Javascript. Ich würde halt gerne diese Daten bekommen, wie auch immer.
Mit > webgadget < bekomme ich die zwar auf den Bildschirm komme aber immer noch nicht an die Zahlen ran.
Gruß Amiga123
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
http://www.Sundisp.de
Re: html / Java Script ?
Das geht nicht so einfach, da der JS Cod erst ausgeführt wird, nachdem die Seite bei dir auf dem Rechner liegt. Deswegen siehst du auch nur den JS-Code und nicht das Ergebnis von document.write bspw.
Also es gibt imho zwei Möglichkeiten.
1. Irgendwie ins Webgadget einen Hook, der die die Update-Messages von JS abgreift und weiterleiten kann. Wie das geht? Keine Ahnung.
2. Einen JS-Parser schreiben. Das geht realtiv leicht, wenn du nur bestimmte Befehle brauchst, weil du nur bestimmte Seiten abrufst und ziemlich schwer, wenn du die gesamte JS-Bibliothek interpretieren willst.
Also es gibt imho zwei Möglichkeiten.
1. Irgendwie ins Webgadget einen Hook, der die die Update-Messages von JS abgreift und weiterleiten kann. Wie das geht? Keine Ahnung.
2. Einen JS-Parser schreiben. Das geht realtiv leicht, wenn du nur bestimmte Befehle brauchst, weil du nur bestimmte Seiten abrufst und ziemlich schwer, wenn du die gesamte JS-Bibliothek interpretieren willst.
Re: html / Java Script ?
JS-Parser ??
Gibt es da irgenwo was, wie man sich in das Thema reinarbeiten kann.
Gruß amiga123
Gibt es da irgenwo was, wie man sich in das Thema reinarbeiten kann.
Gruß amiga123
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
http://www.Sundisp.de
Re: html / Java Script ?
amiga123 hat geschrieben:JS-Parser ??
Gibt es da irgenwo was, wie man sich in das Thema reinarbeiten kann.
Kiffi hat geschrieben:generell kannst Du JavaScript im WebGadget ausführen lassen:
http://www.purebasic.fr/english/viewtop ... 12&t=36394
a²+b²=mc²
Re: html / Java Script ?
@Kiffi: Der Code von srod führt doch JS aus, gibt allerdings nichts zurück, oder hab ich was übersehen? Damit kann man zwar bspw mit document.write() einen Text ins Webgadget schreiben.
Dieser Code schreibt zwar "hallo welt" ins Webgadget, allerdings nur wieder sichtbar auf dem Bildschirm. Amiga123 möchte aber den String "hallo welt" erhalten um ihn in PB zu verwenden.
Gesucht ist also so etwas in der Art:
Code: Alles auswählen
var hallo = 'hallo welt';
document.write(hallo);
Gesucht ist also so etwas in der Art:
Code: Alles auswählen
js_code.s = "var one = 1; var two=2; var three = one+two;"
Debug JS("one",js_code)
Debug JS("two",js_code)
Debug JS("three",js_code)
>> 1
>> 2
>> 3
Re: html / Java Script ?
nee, das ist schon so korrekt. Um etwas zurückzugeben,TomS hat geschrieben:@Kiffi: Der Code von srod führt doch JS aus, gibt allerdings nichts zurück, oder hab ich was übersehen?
muss man den Code ein wenig umschreiben:
Code: Alles auswählen
IncludePath #PB_Compiler_Home + "srod\comateplus\"
XIncludeFile "comateplus.pbi"
Define.COMateObject WebObject
Procedure.i ExecuteJavaScript(gadget, command$)
Protected browser.COMateObject, documentDispatch.COMateObject, script.COMateObject
Protected result
browser = COMate_WrapCOMObject(GetWindowLong_(GadgetID(gadget), #GWL_USERDATA))
If browser
documentDispatch = browser\GetObjectProperty("Document")
If documentDispatch
script = documentDispatch\GetObjectProperty("script")
If script
result = script\getIntegerProperty("eval('" + command$ + "')")
script\release()
EndIf
documentDispatch\release()
EndIf
browser\release()
EndIf
ProcedureReturn result
EndProcedure
Define.s HTML
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 150, 40, "Deep thought")
WebGadget(0, 0, 0, 0, 0, "")
ButtonGadget(1,10,10,130,20,"Frage")
Repeat
Event = WaitWindowEvent();
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1 ; ButtonGadget
HTML = "<html>"
HTML + "<head>"
HTML + "<script type='text/javascript'>"
HTML + " function getAnswer() {"
HTML + " return 42;"
HTML + " }"
HTML + "</script>"
HTML + "<title></title>"
HTML + "</head>"
HTML + "<body></body>"
HTML + "</html>"
SetGadgetItemText(0, #PB_Web_HtmlCode, HTML)
Repeat
While WindowEvent() : Delay(1) : Wend
Until GetGadgetAttribute(0, #PB_Web_Busy) = 0
MessageRequester("Antwort", Str(ExecuteJavaScript(0, "getAnswer()")) )
EndSelect
Case #PB_Event_CloseWindow
Break
EndSelect
Until GetAsyncKeyState_(#VK_ESCAPE)
EndIf
Und die habe ich geliefert. Der Rest ist (wie ich bereits schrieb) Pfriemelsarbeit und
da muss er sich selber reinknien.
Grüße ... Kiffi
a²+b²=mc²
Re: html / Java Script ?
TomS hat geschrieben:Gesucht ist also so etwas in der Art:
PerfektKiffi hat geschrieben:Code: Alles auswählen

Re: html / Java Script ?
Hi,
bei deinem Beispiel gehst du davon aus, dass die Variablen "statisch" bereits als Konstanten im Script vorhanden sind.
Die Realität ist aber wohl, dass Inhalte oft z.B. über Ajax nachgeladen werden.
bei deinem Beispiel gehst du davon aus, dass die Variablen "statisch" bereits als Konstanten im Script vorhanden sind.
Die Realität ist aber wohl, dass Inhalte oft z.B. über Ajax nachgeladen werden.
Gruß, Michael
There are 10 types of people, those that understand binary and those that don't!
There are 10 types of people, those that understand binary and those that don't!