WebGadget()

Syntax

Ergebnis = WebGadget(#Gadget, x, y, Breite, Hoehe, URL$ [, Flags])
Beschreibung
Erstellt ein Web-Gadget in der aktuellen Gadgetliste.

Wenn #PB_Any als '#Gadget' Parameter verwendet wird, dann wird die Nummer des neuen Gadgets als 'Ergebnis' zurückgegeben. #Gadget ist die Nummer, die (später) von der EventGadget() Funktion zurückgegeben wird.

'Flags' ist ein optionaler Parameter und kann eine der folgenden Konstanten annehmen:
  #PB_Web_Mozilla : Verwendet das Mozilla ActiveX anstelle des vom IExplorers (nur auf Windows).
Die folgenden Befehle können zum Zugriff auf das WebGadget benutzt werden:

- SetGadgetText(): Ändert die aktuelle URL.
- GetGadgetText(): Ermittelt die aktuelle URL.
- SetGadgetState(): Führt einige Aktionen auf dem Gadget aus. Die folgenden Konstanten sind gültig:
  #PB_Web_Back   : Ein Schritt zurück in der Navigations-Historie.
  #PB_Web_Forward: Ein Schritt vorwärts in der Navigations-Historie.
  #PB_Web_Stop   : Stoppt das Laden der aktuellen Seite.
  #PB_Web_Refresh: Erneutes Laden ("Refresh") der aktuellen Seite.
Hinweis: Die folgenden Features arbeiten nicht mit dem Mozilla ActiveX auf Windows (#PB_Web_Mozilla Flag)

- SetGadgetItemText(): Mit #PB_Web_HtmlCode als 'Eintrag' kann Html-Code in das Gadget eingefügt ("gestreamed") werden.
- GetGadgetItemText(): Die folgenden Konstanten können verwendet werden, um Informationen zu erhalten:
  #PB_Web_HtmlCode     : Ermittelt den Html-Code vom Gadget.
  #PB_Web_PageTitle    : Ermittelt den aktuellen Titel der angezeigten Seite.
  #PB_Web_StatusMessage: Ermittelt die aktuelle Statusleisten-Nachricht.
  #PB_Web_SelectedText : Ermittelt den aktuell selektierten Text innerhalb des Gadgets.
- SetGadgetAttribute(): Setzt die folgenden Attribute:
  #PB_Web_ScrollX       : Legt die horizontale Scroll-Position fest.
  #PB_Web_ScrollY       : Legt die vertikale Scroll-Position fest.
  #PB_Web_BlockPopups   : Blockt Popup-Fenster ab. #PB_EventType_PopupWindow wird als Ereignis-Nachricht geschickt, wenn diese Einstellung aktiviert ist.
  #PB_Web_BlockPopupMenu: Blockt das standardmäßige Popup-Menü ab. #PB_EventType_PopupMenu wird als Ereignis-Nachricht geschickt, wenn diese Einstellung aktiviert ist.
  #PB_Web_NavigationCallback: Definiert einen Callback für das Überwachen (und Deaktivieren) der Navigation.
Der Navigations-Callback muss das folgende Format haben:
  Procedure NavigationCallback(Gadget, Url$)
    ;
    ; Geben Sie #True zurück, um diese Navigation zu erlauben, oder #False um sie zu unterbinden.
    ;
    ProcedureReturn #True
  EndProcedure
- GetGadgetAttribute(): Ermittelt die folgenden Attribute:
  #PB_Web_ScrollX       : Ermittelt die horizontale Scroll-Position.
  #PB_Web_ScrollY´      : Ermittelt die vertikale Scroll-Position.
  #PB_Web_Busy          : Gibt einen Wert ungleich Null zurück, wenn das Gadget mit dem Laden einer Seite beschäftigt ist.
  #PB_Web_Progress      : Gibt den aktuellen (manchmal geschätzten) Fortschritt nach einem #PB_EventType_DownloadProgress Ereignis zurück.
  #PB_Web_ProgressMax   : Gibt den aktuellen (manchmal geschätzten) maximalen Fortschritt #PB_EventType_DownloadProgress Ereignis zurück.
  #PB_Web_BlockPopups   : Ermittelt die aktuelle Einstellung zum Abblocken von Popup-Fenstern.
  #PB_Web_BlockPopupMenu: Ermittelt die aktuelle Einstellung zum Abblocken des Popup-Menüs.
  #PB_Web_NavigationCallback: Ermittelt den aktuellen Navigations-Callback (falls es einen gibt).
Hinweise: Popup-Fenster und Popup-Menüs werden vom WebGadget nicht auf Linux unterstützt. Trotzdem kann die #PB_Web_BlockPopups Konstante gesetzt werden, um das #PB_EventType_PopupWindow Ereignis zu aktivieren. Das gleiche gilt für #PB_Web_BlockPopupMenu.

Die folgenden Typen von Ereignissen können bei diesem Gadget auftreten:
  #PB_EventType_TitleChange     : Der Seitentitel hat sich geändert.
  #PB_EventType_StatusChange    : Die Status-Nachricht hat sich geändert.
  #PB_EventType_DownloadStart   : Ein Seiten-Download startete.
  #PB_EventType_DownloadProgress: Fortschritt-Informationen sind mit GetGadgetAttribute() verfügbar.
  #PB_EventType_DownloadEnd     : Ein Seiten-Download endete (abgeschlossen oder abgebrochen).
  #PB_EventType_PopupWindow     : Ein Popup-Fenster wurde abgeblockt.
  #PB_EventType_PopupMenu       : Das Popup-Menü wurde abgeblockt (zeigen Sie ein eigenes Menü stattdessen).
Hinweis: Unter Microsoft Windows benutzt das WebGadget das Internet Explorer 4.0+ ActiveX Objekt. Dies bedeutet, dass IE installiert sein muss (standardmäßig installiert auf Win98/ME und Win2000/XP). Die ATL.dll (befindet sich im Verzeichnis PureBasic\Compilers\) wird ebenfalls benötigt, und zwar im gleichen Verzeichnis wie das Executable.

Als eine Alternative kann stattdessen das Mozilla ActiveX (http://www.iol.ie/~locka/mozilla/mozilla.htm) verwendet werden, wenn der #PB_Web_Mozilla Flag angegeben wurde (das Mozilla ActiveX muss separat installiert werden, es ist bei FireFox oder Mozilla nicht dabei).

Beispiel:

  If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com")
    ; Hinweis: wenn Sie eine lokale Datei benutzen möchten, dann ändern Sie den letzten Parameter
    ;          in "file://" + Pfad + Dateiname
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf



Beispiel 2: (mit Navigations-Callback)
  ; Dieses Beispiel zeigt die PureBasic.com Webseite an. Innerhalb der Callback-Prozedur
  ; wird das Navigieren zur 'News' Seite verhindert (#False zurückgegeben), jedoch für
  ; alle anderen Seite erlaubt (#True zurückgegeben).
    
  Procedure NavigationCallback(Gadget, Url$) 
    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

Unterstützte OS

Alle

<- UseGadgetList() - Gadget Inhaltsverzeichnis - WebGadgetPath() ->