Webgadget: Klicks auf Buttons auswerten
Webgadget: Klicks auf Buttons auswerten
Hallo,
gibt's eine Möglichkeit die Klicks auf Buttons in einem Webgadget auszuwerten?
Es wird also ein Webgadget erstellt, mit HTML gefüllt (darunter <input type=button name=bla value=Irgendwas>) und wenn da dann draufgeklickt wird, soll PB das abfangen und dann eine Aktion starten (z.B. das Webgadget aktualisieren oder ein DIV entfernen etc.).
gibt's eine Möglichkeit die Klicks auf Buttons in einem Webgadget auszuwerten?
Es wird also ein Webgadget erstellt, mit HTML gefüllt (darunter <input type=button name=bla value=Irgendwas>) und wenn da dann draufgeklickt wird, soll PB das abfangen und dann eine Aktion starten (z.B. das Webgadget aktualisieren oder ein DIV entfernen etc.).
PB 6.21 | Win 11
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Webgadget: Klicks auf Buttons auswerten
Wenn nur simple Dinge innerhalb des WebGadgets passieren sollen, böte sich immer noch Javascript an. Das wäre an dieser Stelle zumindest am einfachsten.
Re: Webgadget: Klicks auf Buttons auswerten
Yup so ist das auch geplant, aber "intern" soll eben z.B. noch ein DB-Eintrag entfernt werden.
PB 6.21 | Win 11
Re: Webgadget: Klicks auf Buttons auswerten
Du kannst im HTML den document.title verändern und PureBasic auf #PB_EventType_TitleChange horchen lassen:
Grüße ... Peter
Code: Alles auswählen
#Window = 0
#WebGadget = 0
Procedure WebGadgetTitleChangeEvent()
Select GetGadgetItemText(#WebGadget, #PB_Web_PageTitle)
Case "huhu"
Debug "'klick mich 1' gedrückt"
Case "haha"
Debug "'klick mich 2' gedrückt"
EndSelect
EndProcedure
OpenWindow(#Window, 0, 0, 400, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(#WebGadget, 0, 0, 400, 300, "")
HTML.s = "<html><body>" +
"<input type='button' value='klick mich 1' onclick='document.title=" + Chr(34) + "huhu" + Chr(34) + "' /><br />" +
"<input type='button' value='klick mich 2' onclick='document.title=" + Chr(34) + "haha" + Chr(34) + "' />" +
"</body></html>"
BindGadgetEvent(#WebGadget, @WebGadgetTitleChangeEvent(), #PB_EventType_TitleChange)
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, HTML)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
a²+b²=mc²
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Webgadget: Klicks auf Buttons auswerten
Danke Peter,
funktioniert leider nur unter Windows
also doch javascript.
funktioniert leider nur unter Windows

also doch javascript.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Webgadget: Klicks auf Buttons auswerten
So ist das bei PB die letzte Zeit immer öfter.ts-soft hat geschrieben:funktioniert leider nur unter Windows![]()
also doch javascript.
"Plattformunabhängigkeit? Nein, Danke!"

Re: Webgadget: Klicks auf Buttons auswerten
wie sieht's denn hiermit aus?
Grüße ... Peter
Code: Alles auswählen
#Window = 0
#WebGadget = 0
Procedure NavigationCallback(Gadget, Url$)
Select StringField(Url$, 2, "#")
Case "huhu"
Debug "'klick mich 1' gedrückt"
Case "haha"
Debug "'klick mich 2' gedrückt"
EndSelect
ProcedureReturn #False
EndProcedure
OpenWindow(#Window, 0, 0, 400, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
WebGadget(#WebGadget, 0, 0, 400, 300, "")
SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
HTML.s = "<html><body>" +
"<input type='button' value='klick mich 1' onclick='window.location.href=" + Chr(34) + "#huhu" + Chr(34) + "' /><br />" +
"<input type='button' value='klick mich 2' onclick='window.location.href=" + Chr(34) + "#haha" + Chr(34) + "' />" +
"</body></html>"
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, HTML)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
a²+b²=mc²
Re: Webgadget: Klicks auf Buttons auswerten
Geht unter Mac auch nicht 

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive