Seite 1 von 1

Ereignis abfangen einer HTML-Seite im Webgadget

Verfasst: 13.07.2009 21:16
von dysti
Hallo,
habe ein starkes Verständnisproblem.
Habe ein Webgadget erstellt und lade eine Webseite dort hinein.
Diese beinhaltet z.B. zwei Hyperlink-Schaltflächen.
Wird eine Schaltfläche angeklickt, wird eine Datei gedownloadet.

Wie kann ich in Pb dieses Ereignis abfangen und das Ereignis weiterverarbeiten?

Verfasst: 13.07.2009 21:27
von X360 Andy
siehe unten ... /:->

Re: Ereignis abfangen einer HTML-Seite im Webgadget

Verfasst: 13.07.2009 21:28
von Kiffi
dysti hat geschrieben:Wie kann ich in Pb dieses Ereignis abfangen und das Ereignis weiterverarbeiten?
mit einem NavigationCallback:

Code: Alles auswählen

SetGadgetAttribute(#DeinWebgadget, #PB_Web_NavigationCallback, @DeinNavigationCallback())
alles weitere in der Hilfe.

Grüße ... Kiffi

Verfasst: 13.07.2009 21:39
von dysti
@Kiffi,
genau da fängt ja mein Problem an. Ich weiß ja, das ich ein Callback einrichten kann aber was im Callback steht, genau da hört die Hilfe auf.
Kein Beispiel dort enthalten.
Ich hoffe, ihr könnten meinen Nebel im Gehirn beseitigen?

Verfasst: 13.07.2009 21:45
von Kiffi
leicht modifiziertes Beispiel aus der Hilfe:

Code: Alles auswählen

Procedure NavigationCallback(Gadget, Url$)
  
  ; Geben Sie #True zurück, um diese Navigation zu erlauben, oder #False um sie zu unterbinden.
  
  If Url$= "http://www.purebasic.com/news.php"
    MessageRequester("", "No news today!")
    ProcedureReturn #False
  Else
    ProcedureReturn #True
  EndIf
  
EndProcedure

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com")
  
  SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
  
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow
  
EndIf
Nach Starten des Codes wird die PB-Homepage angezeigt. Im CallBack
wird exemplarisch das Navigieren auf die News-Seite verhindert.

Grüße ... Kiffi

Verfasst: 13.07.2009 21:47
von ts-soft
Da steht im zweiten parameter die URL, diese vergleichste mit der
erwarteten und machst was immer Du machen möchtest und gibst #True
oder #False zurück, je nachdem ob der Url noch gefolgt werden soll oder nicht.

//edit
zu langsam

Verfasst: 14.07.2009 06:09
von dysti
.......herzlichen Dank.
Nebel beseitigt. Jetzt ist alles klar.
Beispiel sagt einfach mehr als tausend worte.
Man liest immer wieder, aber man bleibt blind.

Verfasst: 14.07.2009 09:51
von Little John
2dysti:
Ich denke nicht dass Du blind warst/bist, sondern in der Hilfe steht diesbezüglich nichts wirklich erhellendes. In die Dokumentation gehört ein Beispiel mit lauffähigem Code, wie das von Kiffi.

Gruß, Little John